一、概述
二、将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="