日期:2014-05-16 浏览次数:20514 次
网上流传的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":[]}
?
?
?
?
学习参考
?
?