struts2传递json对象给前台

 

我们可以使用jsonplugin插件,下载:http://code.google.com/p/jsonplugin/downloads/list

Action中定义Map map,随意插入数据。重点是result的写法:

<result type="json">
       <param name="root">map</param>
</result>

这种方式,可以直接使用struts2插件,然后在root里指定Action中对象数据(map),struts2会自动把对象转换成json数据类型传到前台。格式为:  

{“aVote”:“10”,“bVote”,“25”}

对于一些大型、复杂的对象同样可以转换为json。

需要注意的是,lib下加入jsonplugin.jar包; struts 2配置文件的package包要继承json-default(这个包继承了struts-default,所以不用担心),否则将无法实现。

 

如果稍显麻烦,或者我们的package包不想修改继承关系的话,其实有一种很简单的方法。

我们知道,后台返回ajax请求数据的时候,一般不会太复杂,顶多是几个数字,或者几条信息。我们放入一个字符串中,用指定符号分割即可。

如果返回的json数据比较复杂,可以考虑使用Jackson或者json-lib来封装数据。(推荐Jackson,速度较快)

 

 

 

 

posted @ 2012-12-03 11:37  轩辕李  阅读(895)  评论(0编辑  收藏  举报