一、概述
struts2提供了针对json的插件支持。常规来讲我们将如何将对象数组转成json对象在客户端直接调用呢?尤其和jquery的easyui插件配合使用,这个可能会有很多的问题需要我们解决。这里我只是将几个技术结合阐述。
二、将struts2增加对json的支持处理
1、增加相关jar包,这里我使用的是struts2.2.1.1版本,将他的官方文件下载下来可以看到我们需要的插件包都在,这里我以maven的pom文件片段说明需要增加的支持jar包。
- jaxen
- jaxen
- 1.1.1
- net.sf.ezmorph
- ezmorph
- 1.0.6
- net.sf.json-lib
- json-lib
- 2.4
- jdk15
- commons-collections
- commons-collections
- 3.2.1
- org.apache.struts
- struts2-json-plugin
- 2.2.1.1
2、选择jquery以及easyui的版本,这里我用的是jquery1.4.4版本和easyui的1.2.2版本(jquery-easyui-1.2.2)
3、进行action代码编写
- private static final long serialVersionUID = 1L;
- private IGodPositionService godPositionService;
- //对象实例
- private GodPosition godPosition;
- //对象集合
- private List godPositionList;
- //这东西得和grid中的参数对应上,返回json对象,不是返回json串
- private JSONArray rows;
- public JSONArray getRows() {
- return rows;
- }
- public void setRows(JSONArray rows) {
- this.rows = rows;
- }
- //可以用来放回字符串结果
- private String result;
- //记录数量
- private int total=0;
- public String getResult() {
- return result;
- }
- public void setResult(String result) {
- this.result = result;
- }
- public int getTotal() {
- return total;
- }
- public void setTotal(int total) {
- this.total = total;
- }
- public String godlist() throws ServiceException{
- HttpServletResponse resp=ServletActionContext.getResponse();
- resp.setContentType("application/json");
- godPositionList = godPositionService.findAllGodPosition();
- //进行集合的转换,转换成json对象
- rows=JSONArray.fromObject(godPositionList);
- //记录条数的记录
- total=godPositionList.size();
- logger.info("[total]:"+total+"[rows]:"+rows);
- return "root";
- }
4、配置文件编写
- <</span>package name="jsonpackage" extends="loginpackage,json-default" namespace="/json">
- "loginInterceptor" class="com.jiuchongju.interceptor.LoginInterceptor">
- "loginInterceptorStack">
- "loginInterceptor">
- "json">
- "defaultStack">
- <<span class="keyword" style="margin: 0px; padding: 0px; border: none; color: rgb(0, 102, 153); background-color: inherit; font-weight: bold; ">default-interceptor-ref name="loginInterceptorStack"></</span>default-interceptor-ref>
- "godjson" class="JsonAction">
- "root" type="json">
- "excludeProperties">godPositionService,godPosition,godPositionList
- </<span class="keyword" style="margin: 0px; padding: 0px; border: none; color: rgb(0, 102, 153); background-color: inherit; font-weight: bold; ">package>
5、页面展示代码编写
- "stylesheet" type="text/css" href="
版权声明:本文为博主原创文章,未经博主允许不得转载。