1.插件
Struts2.16 导入jsonplugin-0.34.jar包(下载包 )和commons-logging-1.0.4.jar(Struts2 lib下有)
Struts2.18 及以上导入struts2-json-plugin-2.1.8.1.jar(Struts2 lib下有)
拷贝到 WebContent/WEB-INF/lib 下
假设调用action的URL: http://localhost:8080/articleClass/ json_acList.action
2.修改struts.xml
<package name="articleClass" namespace="/articleClass" extends="json-default" >
<action name="json_* " class="com.exdoit.ArticleClass" >
<interceptor-ref name="json " /> //这行是接收JSON的格式,无需求可以去掉
<result type="json "><param name="root ">{1}</param></result>
</action>
</package>
<param name="root">{1}</param>的含义是只输出指定get方法返回的值.这里对应的是 getAcList() 方法返回的值
3.创建com.exdoit.ArticleClass 类
就是一个我们平常建的类,主要是注意以下几点:
1:类里建一个 execute 的方法.仅返回 "success"
public String execute (){
return "success";//最后结果输出 "success"
} 貌似是可以不要这个的
2:建一个get方法来获取数据,注意get后面的A要换成大写
public List getAcList (){
//为 list 设置值
return list ;
}
你要输出的是一个 {"abc":12,"asd":33} 这样的对象.建议使用 json-lib.jar
public JSONObject getFile_addNewCategory(){
JSONObject js = new JSONObject();
js.element(SUCCESS, true);
js.element("fileCateID", 1);
return js;
}
假如需要其他的json数据,如第2步所示匹配action建立一个get方法就可以了.
参考:http://code.google.com/p/j2eewiki/wiki/Struts2JSON