struts2+jquery+easyui+datagrid+j…

来源:互联网 发布:.shop域名有哪些 编辑:程序博客网 时间:2024/05/16 13:47

一、概述

 struts2提供了针对json的插件支持。常规来讲我们将如何将对象数组转成json对象在客户端直接调用呢?尤其和jquery的easyui插件配合使用,这个可能会有很多的问题需要我们解决。这里我只是将几个技术结合阐述。

二、将struts2增加对json的支持处理

1、增加相关jar包,这里我使用的是struts2.2.1.1版本,将他的官方文件下载下来可以看到我们需要的插件包都在,这里我以maven的pom文件片段说明需要增加的支持jar包。

 

[java] viewplaincopy
  1.   
  2.     jaxen  
  3.     jaxen  
  4.     1.1.1  
  5.   
  6.   
  7.   net.sf.ezmorph  
  8.   ezmorph  
  9.   1.0.6  
  10.   
  11.   
  12.   net.sf.json-lib  
  13.   json-lib  
  14.   2.4  
  15.   jdk15  
  16.   
  17.           
  18.   
  19.   commons-collections  
  20.   commons-collections  
  21.   3.2.1  
  22.   
  23.   
  24.   
  25.   org.apache.struts  
  26.   struts2-json-plugin  
  27.   2.2.1.1  
  28.   

2、选择jquery以及easyui的版本,这里我用的是jquery1.4.4版本和easyui的1.2.2版本(jquery-easyui-1.2.2)

3、进行action代码编写

 

[java] viewplaincopy
  1.     private static final long serialVersionUID 1L;  
  2.     private IGodPositionService godPositionService;  
  3. //对象实例  
  4.     private GodPosition godPosition;  
  5. //对象集合    
  6.     private List godPositionList;  
  7.       
  8. //这东西得和grid中的参数对应上,返回json对象,不是返回json串  
  9.     private JSONArray rows;  
  10.       
  11.     public JSONArray getRows()  
  12.         return rows;  
  13.      
  14.     public void setRows(JSONArray rows)  
  15.         this.rows rows;  
  16.      
  17. //可以用来放回字符串结果  
  18.     private String result;  
  19. //记录数量  
  20.     private int total=0 
  21.       
  22.     public String getResult()  
  23.         return result;  
  24.      
  25.     public void setResult(String result)  
  26.         this.result result;  
  27.      
  28.   
  29.     public int getTotal()  
  30.         return total;  
  31.      
  32.     public void setTotal(int total)  
  33.         this.total total;  
  34.      
  35.   
  36.       
  37.     public String godlist() throws ServiceException{  
  38.         HttpServletResponse resp=ServletActionContext.getResponse();  
  39.         resp.setContentType("application/json");  
  40.         godPositionList godPositionService.findAllGodPosition();  
  41.         //进行集合的转换,转换成json对象  
  42.         rows=JSONArray.fromObject(godPositionList);  
  43. //记录条数的记录  
  44.         total=godPositionList.size();  
  45.         logger.info("[total]:"+total+"[rows]:"+rows);  
  46.         return "root" 
  47.      

4、配置文件编写

 

[java] viewplaincopy
  1.    <</span>package name="jsonpackage" extends="loginpackage,json-default" namespace="/json" 
  2.      
  3.       
  4.         "loginInterceptor" class="com.jiuchongju.interceptor.LoginInterceptor" 
  5.         "loginInterceptorStack" 
  6.             "loginInterceptor" 
  7.             "json" 
  8.             "defaultStack" 
  9.           
  10.       
  11.     <<spanclass="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>  
  12.     "godjson" class="JsonAction" 
  13.        "root" type="json" 
  14.          
  15.        "excludeProperties">godPositionService,godPosition,godPositionList  
  16.          
  17.       
  18. </<span class="keyword" style="margin: 0px; padding: 0px;border: none; color: rgb(0, 102, 153); background-color: inherit;font-weight: bold; ">package 

5、页面展示代码编写

 

[java] viewplaincopy
  1.     "stylesheet" type="text/css" href="
0 0
原创粉丝点击