js如何接收action传递过来的Json数组

action代码:List<LKLocation>list=lkl.queryor();JSONArrayjsonArray=JSONArray.fromObject(l... action 代码:List<LKLocation> list =lkl.queryor();
JSONArray jsonArray = JSONArray.fromObject(list);
req.setAttribute("jsonArray",jsonArray);
这是某个action中的代码,在通过返回字符串由struts2传递到页面
jsp 代码:

<script type="text/javascript">
function show(){

var jsonarray = document.getElementById("json").value;
alert(jsonarray.size());
var jsonStr = 'jsonArray';
alert(jsonarray.size());

// var objs = eval(data);
for(var i = 0; i < jsonarray.length; i++) {
alert(jsonarray[i].Address);
alert(jsonarray[i].State);
}
}

</script>

</head>

<body onload="show()">
<!--<div style="left:0;top:0;width:100%;height:100%;border:0px;solid#000" id="container"></div>-->
<%Object jsonstr =session.getAttribute("jsonArray");%>
<input type="hidden" id="json" value=<%=jsonstr %>>
</body>
不知道为什么JSP页面都是空白?
展开
 我来答
似怜杉33
2015-07-14 · TA获得超过141个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:123万
展开全部
  1. post的话是没有办法直接获取得

    如果是同一个页面,考虑直接用js函数获取,不提交

    如果是不同页面,只能通过ajax变成get方式

  2. get的话,一个正则.二是split,具体如下

    办法一: 正则
    function getAction(name) {
    var reg = new RegExp("(^|&)" + name
    + "=([^&]*)(&|$)", "i");
    var r =
    window.location.search.substr(1).match(reg);
    if (r != null) return
    unescape(r[2]); return null;
    }

    办法二: split

    function getAction() {

       var url = location.search; //获取url中"?"符后的字串

       var theRequest = new Object();

       if (url.indexOf("?") != -1) {

       var str = url.substr(1);

            strs = str.split("&");

             for(var i = 0; i < strs.length; i ++) {

                theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);

             }

            }

            return theRequest;

       }

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9746fdc
2013-09-16 · TA获得超过270个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:210万
展开全部
前后台传递参数,你放的地方和取得地方应该要一致
<%Object jsonstr =request.getAttribute("jsonArray");%>
追问
真没注意这个地方。但是我改了之后还是空白  还是错的!
追答
eval一下试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式