一、首先导包(除了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。这个问题,可以看服务器给你的提示。一般会告诉你在第几行出现空指针。