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数据表会自动封装数据显示表中。

posted @ 2016-07-22 08:33  Scoee  阅读(972)  评论(0编辑  收藏  举报