日期:2014-05-16  浏览次数:20397 次

Struts2学习系列 -- Struts2增加json插件

网上流传的jsonplugin只适用于Struts2.0,2.1,如果版本2.3的Struts返回的结果会有问题。

经过查找发现此jar包已经成为struts2.3的一部分,以下实现返回给浏览器页面为json格式内容

?

引入Struts2插件

? struts2-json-plugin-2.3.4.1.jar

? 及其他Struts 2.3.xxx相关包

?

Deom:

?

public class JSONExample3 {
	private String json = "223";
    private String field1 = "str";
    private int[] ints = {10, 20};
    private Map map = new HashMap();
    private String customName = "custom";
    private User user;
    private List<User> lUser;

    //'transient' fields are not serialized
    private transient String field2;

    //fields without getter method are not serialized
    private String field3;

    public String execute() {
        map.put("John", "Galt");
        user = new User();
        user.setDescription("111");
        user.setPassword("133");
        user.setUsername("aaa");
        
        lUser = new ArrayList<User>();
        lUser.add(user);
        
        json = "1112222";
        return Action.SUCCESS;
    }

    // 属性set、get略
}
?

?

struts.xml配置:只输出特定几个属性

?

  <package name="example"  extends="json-default">
     <action name="JSONExample" class="JSONExample3">
        <result type="json">
        	<param name="includeProperties">
			    lUser,
			    field1,
			    json
  			</param>
        </result>
     </action>
  </package>

?

?

访问URL(IHWS是项目名称):

http://127.0.0.1:8999/IHWS/JSONExample

?

输出结果为

?

{"field1":"str","json":"1112222","lUser":[]}
?

?

?

?

学习参考

?

  • 官网Demo? 经过试验有效
  • 深入了解Struts2返回JSON数据的原理及具体应用范例? 理论,原理学习
  • 使用 Struts2 JSON plugin ( Struts2 + jQuery ) Study_Notes? 注解的Demo学习

?

1 楼 njyu 2012-09-27  
年轻人struts拼错了。。。
2 楼 ZZX19880809 2012-09-27  
年轻人,最常犯的拼写都错了~
3 楼 huangrongyou 2012-09-29  
njyu 写道
年轻人struts拼错了。。。


已经改过来了,谢谢提醒。这个词挺像的。