分页的例子paging.js , 不过只是前台代码,不过没关系,聊胜于无。一个字:改!下面是成果:
DataGrid.js
Js代码
Ext.onReady(function(){
// create the Data Store
var store = new Ext.data.JsonStore({
root: 'bugs',
totalProperty: 'totalCount',
idProperty: 'threadid',
remoteSort: true,
fields: [
'id', 'name', 'date', 'origin',
],
proxy: new Ext.data.HttpProxy({
//url:'http://localhost:8080/ExtjsPaging/Bug',
url:'../Bug',
method:'GET'
})
});
var grid = new Ext.grid.GridPanel({
width:550,
height:300,
title:'ExtJS.com - Browse Forums',
store: store,
trackMouseOver:false,
disableSelection:true,
loadMask: true,
// grid columns
columns:[{
header: "Id",
dataIndex: 'id',
width: 220,
sortable: false
},{
header: "Name",
dataIndex: 'name',
width: 100,
sortable: false
},{
header: "Date",
dataIndex: 'date',
width: 70,
align: 'right',
sortable: false
},{
header: "Origin",
dataIndex: 'origin',
width: 150,
sortable: false
}],
// paging bar on the bottom
bbar: new Ext.PagingToolbar({
pageSize: 5,
store: store,
displayInfo: true,
displayMsg: 'Displaying topics {0} - {1} of {2}',
emptyMsg: "No topics to display",
items:[
'-', {
pressed: true,
enableToggle:true,
text: 'Show Preview',
cls: 'x-btn-text-icon details',
toggleHandler: function(btn, pressed){
var view = grid.getView();
view.showPreview = pressed;
view.refresh();
}
}]
})
});
// render it
grid.render('topic-grid');
// trigger the data store load
store.load({params:{start:0, limit:5}});
});
Ext.onReady(function(){
// create the Data Store
var store = new Ext.data.JsonStore({
root: 'bugs',
totalProperty: 'totalCount',
idProperty: 'threadid',
remoteSort: true,
fields: [
'id', 'name', 'date', 'origin',
],
proxy: new Ext.data.HttpProxy({
//url:'http://localhost:8080/ExtjsPaging/Bug',
url:'../Bug',
method:'GET'
})
});
var grid = new Ext.grid.GridPanel({
width:550,
height:300,
title:'ExtJS.com - Browse Forums',
store: store,
trackMouseOver:false,
disableSelection:true,
loadMask: true,
// grid columns
columns:[{
header: "Id",
dataIndex: 'id',
width: 220,
sortable: false
},{
header: "Name",
dataIndex: 'name',
width: 100,
sortable: false
},{
header: "Date",
dataIndex: 'date',
width: 70,
align: 'right',
sortable: false
},{
header: "Origin",
dataIndex: 'origin',
width: 150,
sortable: false
}],
// paging bar on the bottom
bbar: new Ext.PagingToolbar({
pageSize: 5,
store: store,
displayInfo: true,
displayMsg: 'Displaying topics {0} - {1} of {2}',
emptyMsg: "No topics to display",
items:[
'-', {
pressed: true,
enableToggle:true,
text: 'Show Preview',
cls: 'x-btn-text-icon details',
toggleHandler: function(btn, pressed){
var view = grid.getView();
view.showPreview = pressed;
view.refresh();
}
}]
})
});
// render it
grid.render('topic-grid');
// trigger the data store load
store.load({params:{start:0, limit:5}});
});
这前台没什么好说的,本来用的是ScriptTagProxy,我试了一下没成功,原因还没弄清楚,可能是回传数据的问题,以后再研究。个人感觉这些js这些东西的关键就是如何实现前后台数据的交互。
BugDataServlet
Java代码
package org.shelocks.extjspaging;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.shelocks.extjspaging.dao.BugDao;
import org.shelocks.extjspaging.domain.Bug;
/**
*
* @author shelocks
*/
public class BugDataServlet extends HttpServlet {
@Override
public void init() throws ServletException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String start = req.getParameter("start");
String limit = req.getParameter("limit");
String sql = "select * from bug LIMIT " + start + "," + limit;
BugDao bugDao = new BugDao();
List<Bug> list = bugDao.queryBySql(sql);
StringBuilder sb = new StringBuilder();
sb.append("{totalCount:14,bugs:[");
for (Bug bug : list) {
sb.append("{");
sb.append("id:" + bug.getId());
sb.append(",name:" + "\'" + bug.getName() + "\'");
sb.append(",date:" + "\'" + bug.getDate() + "\'");
sb.append(",origin:" + "\'" + bug.getOrigin() + "\'");
sb.append("},");
}
String json = sb.substring(0, sb.length() - 1);
json += "]}";
resp.setContentType("text/html");
resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.println(json);
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
@Override
public void destroy() {
}
}
package org.shelocks.extjspaging;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.shelocks.extjspaging.dao.BugDao;
import org.shelocks.extjspaging.domain.Bug;
/**
*
* @author shelocks
*/
public class BugDataServlet extends HttpServlet {
@Override
public void init() throws ServletException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String start = req.getParameter("start");
String limit = req.getParameter("limit");
String sql = "select * from bug LIMIT " + start + "," + limit;
BugDao bugDao = new BugDao();
List<Bug> list = bugDao.queryBySql(sql);
StringBuilder sb = new StringBuilder();
sb.append("{totalCount:14,bugs:[");
for (Bug bug : list) {
sb.append("{");
sb.append("id:" + bug.getId());
sb.append(",name:" + "\'" + bug.getName() + "\'");
sb.append(",date:" + "\'" + bug.getDate() + "\'");
sb.append(",origin:" + "\'" + bug.getOrigin() + "\'");
sb.append("},");
}
String json = sb.substring(0, sb.length() - 1);
json += "]}";
resp.setContentType("text/html");
resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.println(json);
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
@Override
public void destroy() {
}
}
Servlet的配置
Xml代码
<servlet>
<servlet-name>Bug</servlet-name>
<servlet-class>org.shelocks.extjspaging.BugDataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Bug</servlet-name>
<url-pattern>/Bug</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Bug</servlet-name>
<servlet-class>org.shelocks.extjspaging.BugDataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Bug</servlet-name>
<url-pattern>/Bug</url-pattern>
</servlet-mapping>
BugDataServlet负责从后台获得数据,转换为json格式。bug是数据库表,4个字段id、name、date、origin,Bug是相应的类。
paging.jsp
Html代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Paging Grid Example</title>
<link rel="stylesheet" type="text/css" href="../css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../Extjs/adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="../Extjs/ext-all.js"></script>
<script type="text/javascript" src="../js/DataGrid.js"></script>
<link rel="stylesheet" type="text/css" href="../css/grid-examples.css" />
<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../css/examples.css" />
</head>
<body>
<script type="text/javascript" src="../js/examples.js"></script><!-- EXAMPLES -->
<h1>Paging Grid Example</h1>
<p>This example shows how to create a grid with paging. This grid uses a ScriptTagProxy to fetch cross-domain
remote data (from the Ext forums).</p>
<p>Note that the js is not minified so it is readable. See <a href="../js/DataGrid.js">DataGrid.js</a>.</p>
<div id="topic-grid"></div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Paging Grid Example</title>
<link rel="stylesheet" type="text/css" href="../css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../Extjs/adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="../Extjs/ext-all.js"></script>
<script type="text/javascript" src="../js/DataGrid.js"></script>
<link rel="stylesheet" type="text/css" href="../css/grid-examples.css" />
<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../css/examples.css" />
</head>
<body>
<script type="text/javascript" src="../js/examples.js"></script><!-- EXAMPLES -->
<h1>Paging Grid Example</h1>
<p>This example shows how to create a grid with paging. This grid uses a ScriptTagProxy to fetch cross-domain
remote data (from the Ext forums).</p>
<p>Note that the js is not minified so it is readable. See <a href="../js/DataGrid.js">DataGrid.js</a>.</p>
<div id="topic-grid"></div>
</body>
</html>
分享到:
相关推荐
简单extjs+json+servlet实现,页面展示,仅供大家参考
extjs跟servlet整合,主要是对人的增删查改
htmleditor扩展插入图片功能,使用Extjs+servlet请求实现。 htmleditor插入图片功能 Extjs servlet
ssh+extjs+mysql整合
extjs+servlet的增删改操作,绝对能跑起来!!!
EXTJS + Struct +mysql 数据库脚本包含在类 json实现前台后台数据通信
ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例
extjs3+servlet实现图片上传功能,文件夹中的upload.jar包是第三方控件主要是处理前台传递过来的图片流
extjs+mysql实例下载extjs+mysql实例下载extjs+mysql实例下载extjs+mysql实例下载extjs+mysql实例下载
用Ext写一个登陆界面,登陆完后进入一个...用Servlet发送请求,Json数据也是JS通过Servlet请求从数据库中读取显示在Grid表格中。例子比较简单,但方法很明朗。 代码没有经过处理,可能有些乱,但思路还是比较清晰的。
Extjs+SpringMVC+MyBaits财务管控系统
这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...
基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架
一个简单的小例子,用ExtJS实现了华丽的注册页面,用Servlet实现向数据库添加注册信息,也就是注册。
ExtJs_servlet_JDBC 做的增删查改 学习ExtJs
前端使用Extjs后台使用spring mvc 数据访问层使用hibernate 数据库使用mysql,是学习extjs、spring mvc以及hibernate的比较好的例子,希望能帮到各位。
ExtJS4+JSON+Servlet(Struts2)实现登录验证
本人搭建的ssh2+extjs+mysql最小jar包框架(只有20个)
从文件结构可以看出,该压缩文件包含了整个软件开发的全部流程。 实现的功能:客房,楼层,商品类别,商品,会员的增删改查,预定信息的增删,预定转入住,换房管理,结账管理,直接入住管理,用户管理,日志的查询...
NULL 博文链接:https://z-p-h.iteye.com/blog/1529957