测试通过struts2 jquery pagination to DataGrid实例。官网使用的是etmvc,很新,功能看的不错,但是真正开发中应该很少有人会愿意在自己的项目中去冒这个险吧,并不是说etmvc不好,只是大多数都会报有一种观望的态度来对待新事物。所以使用struts2配合easyui。
那首先要解决的就是struts2对json的支持,因为easyui对数据的操作绝大多数都是基于json的。使用jar包支持如下:
commons-logging-1.0.4.jar,
freemarker-2.3.8.jar,
ognl-2.6.11.jar,
struts2-core-2.0.11.1.jar,
xwork-2.0.4.jar,
jsonplugin-0.32.jar,
json-lib-2.1.jar,
commons-beanutils-1.8.0.jar,
commons-collections-3.2.1.jar,
commons-lang-2.4.jar,
ezmorph-1.0.6.jar。
记住这些jar都是必须的,一个也不能少哟!~~
然后我们就开始看代码吧。
首先是User.java,这是一个pojo。不用多说了:
package vo;
public class User {
private int id;
private String username;
private String password;
//此处getter & setter 省略
......
}
然后是PageAction.java,由于只是个demo,急于测试出结果,所以并没有连接数据库,都是在Action中模拟的数据。
package action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import vo.User;
import net.sf.json.JSONObject;
import com.opensymphony.xwork2.ActionSupport;
/**
* <p>
* UPDATE: mys(牟玉石)
* <p>
* DATE: 2010-5-3 下午03:59:53
* <p>
* HISTORY: 1.0
*
* @version 1.0
* @author mys(牟玉石)
* @since java jdk1.6.0_06<br>
* @beanid <br>
*
* 功能描述:<br>
*/
public class PageAction extends ActionSupport {
/**
* @author 牟玉石 at 2010-5-3 下午03:01:35
*/
private static final long serialVersionUID = 7263568517757245698L;
private JSONObject result;
@Override
public String execute() throws Exception {
int rows = Integer.parseInt((String) ServletActionContext.getRequest()
.getParameter("rows"));
int page = Integer.parseInt((String) ServletActionContext.getRequest()
.getParameter("page"));
List<User> list = new ArrayList<User>();
User user = null;
for (int i = (page-1)*rows; i < rows; i++) {
user = new User();
user.setId(i);
user.setUsername("mys" + i);
user.setPassword("password" + i);
list.add(user);
}
Map<String, Object> jsonMap = new HashMap<String, Object>();
//ui需要显示数据的总页数
jsonMap.put("total", list.size());
//ui需要实现数据的总记录数
jsonMap.put("rows", list);
result = JSONObject.fromObject(jsonMap);
return SUCCESS;
}
public JSONObject getResult() {
return result;
}
public void setResult(JSONObject result) {
this.result = result;
}
}
接着就是配置文件struts.xml:
<struts>
<package name="page" namespace="/" extends="json-default">
<action name="page" class="action.PageAction">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>
</struts>
最后就是前台的page.jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link type="text/css" rel="stylesheet" href="easyui/themes/default/easyui.css">
<link type="text/css" rel="stylesheet" href="easyui/themes/icon.css">
<script type="text/javascript" src="easyui/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
$(function(){
$('#tt').datagrid({
title:'Load Data',
iconCls:'icon-save',
width:600,
height:250,
url:'page.action',
columns:[[
{field:'id',title:'id',width:80},
{field:'username',title:'username',width:80},
{field:'password',title:'password',width:80,align:'right'}
]],
pagination:true
});
});
</script>
</head>
<body>
<table id="tt"></table>
</body>
</html>
分享到:
相关推荐
struts2+ajax+easyui+json+datagrid增,删,改,查,分页,排序,有数据库
easyui.js插件, <script type="text/javascript" src="/js/easyui.js"> <script type="text/javascript" src="/js/easyui-lang-zh_CN.js"></script>
支持datagrid扩展,在一条记录下面可以嵌套一个子datagrid,切记要在页面中引入该js
easyui\easyui-accordion-demo.zip easyui\easyui-crud-demo.zip easyui\easyui-datagrid10-demo.zip ...easyui\easyui-datagrid2-demo.zip easyui\easyui-datagrid21-demo.zip easyui\easyui-datagrid22-demo.zi
EasyUI的tree及datagrid的综合应用
easyui 可编辑datagrid完整例子,支持filebox 项目中的数据库使用的是mysql,内置sql脚本,执行脚本即可创建数据
EasyUI_05-datagrid-src.zip
easyui成型模板(datagrid+tree+代码+自带数据库.sql)
easyui的datagrid中editor和combobox的级联,在datagrid中编辑项是下拉框的实现方式
easyui-datagrid导出至Excel插件,中文没有乱码问题。
jquery easyui demo 网页下载下来打包了,还有datagrid简要说明
JS EasyUI DataGrid动态加载数据
NULL 博文链接:https://focus-sunbo.iteye.com/blog/2198721
easyui的datagrid中editor和combogrid的结合使用,datagrid中编辑项是下拉表的实现方式
easyui的datagrid生成合并行,合计计算价格!
spring+struts2+easyui项目,可直接导入eclipse运行,包含数据库脚本与jar包说明,整套权限控制,技术插件包括ztree highcharts等
介绍EasyUI的DataGrid数据表格以及Pagination分页 按照说明可直接运行代码. .
struts2+easyUI+ajax+json用户登验证,代码没问题,可运行,适合初学者理解原理!
easyui datagrid editor回车切换单元格示例,适合熟悉easyui但又不懂如何做的人员,可能参考一下源码JS。
EasyUI DataGrid过滤用法实例