一、首先导包(除了struts2必须导入的包外,还需要struts2-json-plugin-2.2.1.jar 但是在导入这个包后,也许不行,反正我的不行。还需要共需要的 jars commons-beanutils-1.7.0.jar commons-lang-2.3.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar
等。具体参考下图
)
二、编写action
················action中的主要函数如下,主要aa必须有get、set方法
private String aa; public String getAa() { return aa; } public void setAa(String aa) { this.aa = aa; }
public String testByAction() { JSONArray jsonArray=new JSONArray(); JSONObject json=new JSONObject(); json.put("success", true); User user1=new User(); user1.setId("505"); user1.setPassword("123456"); json.put("user",user1); jsonArray.add(json); aa=jsonArray.toString(); System.out.println(aa); return SUCCESS; }
三、配置struts.xml
<package name="default" namespace="/" extends="json-default"> <action name="json" class="com.zj.action.UserAction" method="testByAction"> <result type="json"> </result> </action> </package>
启动tomcat就可以得到json数据了
捣鼓了一天,总结一下今天遇到的问题
由于自己之前使用的struts2的版本偏低,struts2-core-2.1.2.jar包。添加了很多有个json的依赖包就是不行。后来实在没法,就把struts2版本改为2.2.1。删除了低版本的jar包及其有关的核心包。导入了2.2.1的核心包。代码什么都不用改动。再添加json的依赖包就可以用了。
还遇到过java.lang.NullPointerException。这个问题,可以看服务器给你的提示。一般会告诉你在第几行出现空指针。