Struts2 如何获得action中传到jsp页面的json格式集合对象。。。。求解

------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

楼上的这种办法,因为response写入的是字符串,需要你在前台js使用eval函数将字符串转换成json对象,才可以使用data.results的调用
使用struts2的话,可以考虑使用struts2集成的返回json功能,不用写入到response:
1、在配置文件中,定义package的extends,<package name="ajaxAction" extends="json-default">;
2、下面的infoDxt就是我在infoDxtAction中的一个bean,struts2会自动的将该对象转换成json,而且bean里面还可以使用@JSON(format="yyyy-MM-dd") 这种标注方式,指定json中的格式
<action name="AjaxDxtShow" class="infoDxtAction" method="show">
<result type="json">
<param name="root">infoDxt</param>
</result>
</action>
3、针对上面的配置,在action中写下show方法就好了,不能是void方法,需要返回值追问

这个配置我知道 但是具体在action与jsp中怎么做还是不知道 能给个例子吗 亲

追答

你的这个应用是要填充表格?
那我建议你在action中定义一个List,然后返回的root直接是这个List,action中,setList(),getList();
在你的具体方法中对这个list进行赋值就好了,然后在js中就可以直接使用data[i].xxx进行表格填充了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-10
$.post("look.action",{"id":id},function(data){
alert(data);
$.each(data.list,function(i,value){
alert(value.name);//value就是你的TDATE 如果你的TDATE有name的话。可以这样
});
});
后台的list 弄成全局变量。private List<TDate> list; 加上get set;
第2个回答  2013-05-09
JSONObject json = new JSONObject();
json.put("results", list);
write(json.toString());
然后你就可以在jsp中利用 data.results得到你的list数据了追问

不行啊 现在jsp 里data 都显示不了 了

--------------------------------------

---------------------------------------------

-------------------------------------------------------

-----------------------------------------------------

追答

你上面获取的方式有问题?1,通过ajax获取json数据,2,获取直接定义全局变量,return到的那个jsp页面来获取

struts2中,jsp页面通过ajax访问了action,action如何返回一个json数据给...
public String execute(){ String result = "";String message = "";\/\/创建流 PrintWriter out = null;\/\/创建json对象 JSONObject json = new JSONObject();cmd = ServletActionContext.getRequest().getParameter("cmd");username = ServletActionContext.getRequest().getParameter("username");pass...

Struts2如何返回一个JSON类型的字符串
struts2配置文件package继承json-default;action的result type="json" 。Struts 是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet\/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模...

struts2中如何将JSONObject字符串在jsp页面中的ajax中解析出来?
你eval以后就是一个对象,不执行eval方法就是字符串。对象就要用对象.属性方法取值,字符串就直接截取。你可以alert(data)就可以看到字符串了。最后圈出来的地方改成 alert(result.success),可以弹出true或者false

用struts2开发,<result type="json"><\/result>是什么意思?
在Struts2中,type="json“这样是用来做AJAX请求的 所以根本就没有跳转页面。json是一种数据格式,具体可以网上去学习一下。在Struts2中,如果这样写,会将你Action中的变量转成JSON 返回到页面 用来做AJAX是非常方便的。具体请参考Struts2的手册 ...

问一个 用Struts2 +Jquery +Json的实现的数据交换 目前获取不到数据...
你没有给后台传form中的数据,如何收的到呢?你可以在getJSON时,把form中的数据序列化一下,传到后台。比如:.getJSON("JSONExample" , $("#form1").serialize(),function(data){\/\/你原来的内容});

struts2和ajax方法,在action中返回的一个list集合,ajax接收的是json数...
每个对象对应一个实体类,里面有19个属性。)这最后一句话看出,你现在的情绪已经 崩溃了!!不管数据在多,它和三条数据的存在 是一个道理 ,你用的是循环 多少数据 又有什么关系。不知道你现在是 取不到这个list ,还是不知道应该怎么把这个list 放到 struts2的iterator 里面 ...

struts2中页面如何获得后台list下标,有几种方式?
你好,用例子说明,struts页面中获取的方式有:访问List: 访问List中某个元素: 访问List中元素某个属性的集合: 访问List中元素某个属性的集合中的特定值: | js一般不会去直接取得,而是转化成json格式。

struts2配置中,param中为空什么意思。传递的是整个action对象吗
struts2使用chain的方式会保留请求参数 <action name="addCommentPro" class="addCommentAction"> <interceptor-ref name="authorityStack"\/> <result type="chain">viewCommentPro<\/result> <\/action> 当使用redirectAction时,会发生重定向,参数会丢失,可以使用以下两种方式传递参数,两种方法下目标...

struts2的action有一个List<Entity>及其setter&getter方法,要用jqu...
var parm={ 传过去的名[a]:'list值 '} action 里设置一个LIst a ,并且有get,set方法

struts2怎么处理ajax请求
<\/action> <\/package> 在struts配置文件中,result的type设为stream。其中包含两个参数,第一个是contentType,表示响应的类型,如果有中文的话最好设置一下编码,第二个参数是用来指定Action中的对应的输入流,它的默认值就是inputStream,所以可以省略。方法3:struts 2 json插件 上面两种方法可以返回的...

相似回答