本方法通过Struts2的拦截器自动将数据转换成json数据后传给页面。
需要导入的jar包:struts2-json-plugin-2.3.20.jar
前台jsp页面:
<table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px" url="get_user" toolbar="#toolbar" pagination="true" rownumbers="true" fitColumns="true" singleSelect="true"> <thead> <tr> <th field="firstname" width="50">First Name</th> <th field="lastname" width="50">Last Name</th> <th field="phone" width="50">Phone</th> <th field="email" width="50">Email</th> </tr> </thead> </table>
其中url是action。URL的返回值必须是json类型。
struts.xml配置文件
<package name="b" namespace="/" extends="struts-default"> <result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult"/> </result-types> <interceptors> <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/> <interceptor-stack name="p1"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="json"/> </interceptor-stack> </interceptors> <action name="get_user" class="com.action.SyohinGetAction"> <result type="json"> <param name="root">list</param> </result> </action> </package>其中result-type 就是从struts2-json-plugin-2.3.20.jar中引用的。
<action name="get_user" class="com.action.SyohinGetAction"> <result type="json"> <param name="root">list</param> </result> </action>这个action将list直接转成json数据。(list在后台就是java.util.List)
在初始化jsp页面时会自动调get_user的action显示内容。
json数据的顺序可以与前台不同,但项目必须一致。