方案1
需要配置jar包:json-lib-2.3-jdk15.jar,
struts.xml不需要配置json result.
Action不支持return返回结果.
返回JSON方式:response.getWriter().write("xxxx");
struts.xml配置案列
- <!-- 利用json for jdk lib,通过response.getWriter.write(); -->
- <package name="com.langsin.crm.struts" extends="struts-default">
- <action name="city" class="cityAction" method="getCities">
- </action>
- </package>
需要配置jar包struts2-json-plugin-2.1.8.jar.
struts.xml需要配置json result.
Action支持return返回结果(SUCCESS)
返回JSON方式:<param name="includeProperties">propertyName1,propertyName2</param>
struts.xml配置案列
- <!-- 利用struts-json-plugin,result type='json' -->
- <action name="city" class="cityAction" method="getCities">
- <result type="json" name="success">
- <param name="root">page</param>
- <param name="excludeProperties">start,limit</param>
- </result>
- </action>
- <result type="json">
- <param name="includeProperties">success,url</param>
- <param name="enableGZIP">true</param>
- <param name="noCache">true</param>
- </result>
Action类参考代码
- //方案1
- HttpServletResponse response = ServletActionContext.getResponse();
- response.setCharacterEncoding("UTF-8");
- page.setTotalCount(cityManager.countCities(pname));
- page.setRoot(cityManager.getCities(pname, page.getStart(),page.getLimit()));
- JSONArray json = JSONArray.fromObject(page.getRoot());//利用json-lib-2.3-jdk15.jar将java对象转换为json字符串对象
- response.getWriter().write("{totalCount:"+page.getTotalCount() +",data:"+json.toString()+"}");
- return null;
- //方案2
- page.setTotalCount(cityManager.countCities(pname));
- page.setRoot(cityManager.getCities(pname, page));
- return SUCCESS;
参考资料
https://struts.apache.org/docs/json-plugin.html
-
顶
- 0
-
踩
- 0