struts2将数据通过Json格式显示于EasyUI-datagrid数据表格
1.搭建ssh开发环境
2.写好Dao、service等方法
3.建立DTO数据传输对象:
package com.beichende.sshwork.user.web.dto; import java.util.ArrayList; import java.util.List; import com.beichende.sshwork.pojo.User; public class Pagination<T> { private int total; private List<User> rows; /** * @return the total */ public int getTotal() { return total; } /** * @param total the total to set */ public void setTotal(int total) { this.total = total; } /** * @return the list */ public List<User> getRows() { return rows; } /** * @param list the list to set */ public void setRows(List<User> list) { if(list==null){ this.rows = new ArrayList<User>(); }else { this.rows = list; } } }
由于datagrid数据表格接受的json数据数据格式是{"total":"",rows:""},所以在DTO对象中需要加入total:总条数、rows:内容
4.Action传输json数据
public String query(){ String hqlString = "from User" ; users = userService.getList(hqlString, null); pag1 = new Pagination<User>(); pag1.setTotal(users.size()); pag1.setRows(users); return SUCCESS ; }
创建DTO对象(pag1),需要为其配置get()方法(struts2靠get()声明输出数据)。从数据库获取数据,并为pag1的total、rows属性赋值。并在struts.xml配置该方法及返回:
<package name="work" namespace="/user" extends="json-default,struts-default"> <action name="query" class="userAction" method="query"> <result type="json"> <param name="root">pag1</param> </result> </action> </package>
pakage的extends还需要是"json-default",result中配置param,name为"root",内容是需要返回到页面的数据(如pag1:antion的DTO类实例)
5.页面easyui-datagrid的配置:
将其url对应为此action的query方法的 .action
$('#dg').datagrid({ url:'user/queryList.action', pageList: [2,5,10,20,50,100], pageSize:2 });
easyui-datagrid数据表会自动封装数据显示表中。