今天琢磨了半天,终于把ExtJS+S2SH中使用grid加载后台数据以及分页的功能实现了,现在就分享给和我一样新学的童鞋们~加油!!
下面是前台extjs代码:
Ext.onReady(function(){
//初始化ExtJs
Ext.QuickTips.init();
//定义GridPanel的列名称
var cms=new Ext.grid.ColumnModel([
{header:"编号",dataIndex:"id",width:30,align:"center",sortable:true},//添加一个编号
{header:"招聘信息",dataIndex:"newsName"},
{header:"发布时间",dataIndex:"createTime",sortable:true}
]);
cms.defaultSortable = true;
var store=new Ext.data.Store({
reader:new Ext.data.JsonReader({
root:"root",
totalProperty:"totalProperty",//从数据库中读取的总记录数
fields:[{name:'id'},{name:'newsName'},{name:'createTime'}]
}),
proxy:new Ext.data.HttpProxy({
method:"post",
url:"http:localhost:8080/TestUpdate/loadJobNews.action"
})
});
store.load({params:{start:0, limit:5}});
var bbar = new Ext.PagingToolbar({
pageSize: 5,
store: store,
displayInfo: true,
displayMsg : '显示第{0}条到{1}条,一共{2}条',
emptyMsg : '没有记录'
});
var grid=new Ext.grid.GridPanel({
renderTo:Ext.getBody(),
id:"newsGrid",
title:"招聘动态",
autoHeight:true,
autoWidth:true,
autoScroll:false,
store:store,//grid数据源
loadMask:{msg:'加载数据中,请等待......'},
cm:cms,
frame:true,
viewConfig:{
forceFit:true
},
bbar:bbar
});
});
再看看后台的action:
package com.hyit.ttmsoge.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import sun.org.mozilla.javascript.internal.EcmaError;
import com.hyit.ttmsoge.model.JobNews;
import com.hyit.ttmsoge.service.JobNewsService;
import com.opensymphony.xwork2.ActionSupport;
public class JobNewsAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String start;
private String limit;
private int totalProperty;
public void setTotalProperty(int totalProperty) {
this.totalProperty = totalProperty;
}
public void setStart(String start) {
this.start = start;
}
public void setLimit(String limit) {
this.limit = limit;
}
private JobNewsService jobNewsService;
public void setJobNewsService(JobNewsService jobNewsService) {
this.jobNewsService = jobNewsService;
}
public void getJobNews() throws Exception{
ArrayList<JobNews> jobNewsList=this.jobNewsService.loadJobNews();
if(jobNewsList!=null&&jobNewsList.size()!=0){
this.setTotalProperty(jobNewsList.size());
String returnValue="{totalProperty:"+totalProperty+",root:[";
int index=Integer.parseInt(start);
int pageSize=Integer.parseInt(limit);
System.out.println("start:"+start+"....limit:"+limit);
if(pageSize==0){
pageSize=10;
}
for(int i = index;i < pageSize+index&&i<jobNewsList.size(); i ++){
JobNews jobNews=jobNewsList.get(i);
//list.add(jobNews);
returnValue+="{id:"+jobNews.getId()+",newsName:'"+jobNews.getNewsName()+"',createTime:'"+jobNews.getCreateTime()+"'}";
if(i!=pageSize+index-1){
returnValue+=",";
}
}
returnValue+="]}";
this.sendMsg(returnValue);
}
}
public void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(content);
}
}
其它的service及dao相信大家应该可以搞定的~嘻嘻!
分享到:
相关推荐
在IT行业中,"extjs+s2sh"是一个典型的前端与后端框架的集成案例,它结合了ExtJS、Struts2、Hibernate和Spring这四个关键组件。这些技术的结合为开发人员提供了一套完整的解决方案,用于构建功能丰富的、数据驱动的...
EXTJS+S2SH+DWR 是一种常见的Web应用程序开发架构,结合了三种强大的技术来构建交互性强、用户体验良好的企业级应用。以下是对这些技术及其在雇员管理系统中的应用的详细解释: 1. EXTJS:EXTJS 是一个JavaScript库...
【标题】"extjs+s2sh基于annotation的理财系统"是一个综合性的IT项目,它结合了前端的ExtJS框架和后端的Struts2、Spring、Hibernate(S2SH)框架,并利用注解(Annotation)进行配置,构建了一个完整的理财管理系统...
这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...
【标题】:“Extjs+s2sh基于annotation实现的酒店管理系统”是一个综合性的IT项目,它融合了前端的Extjs框架和后端的Spring、Struts2以及Hibernate这三大经典技术(合称为S2SH),并利用注解(Annotation)进行简化...
该项目是基于Extjs的个人理财管理系统,结合了S2SH(Struts2、Spring、Hibernate)框架和MySQL数据库,提供了一套完整的前后端解决方案。以下将详细解析该项目涉及的主要技术点和实现流程。 1. Extjs:Extjs是一个...
在本项目中,“extjs+s1sh 实现树的加载”描述了如何利用ExtJS与SSH(Struts2 + Spring + Hibernate)框架协同工作,以实现在页面无刷新的情况下动态加载树形数据。 首先,让我们详细了解一下ExtJS中的树形组件...
ExtJs+WCF+LINQ实现分页Grid
EXTJS的Grid组件是一种强大的数据展示工具,可以轻松地处理大量数据,并提供灵活的排序、筛选和分页功能。 首先,我们需要理解PHP在其中的角色。PHP是一种广泛使用的服务器端脚本语言,特别适合于处理动态内容和与...
总结来说,这个ExtJS+DWR的Grid实现涉及到了前端与后端的深度集成,利用了ExtJS的丰富UI组件和DWR的实时通信能力。通过Spring和Hibernate,实现了服务层和数据访问层的解耦,使得系统更易于维护和扩展。分页和分组...
这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...
在本框架中,ExtJS负责处理用户界面的展示和交互,通过Ajax技术与后台进行异步通信,实现数据的动态加载和实时更新。 ASP.NET是微软的Web开发平台,它包含了开发和部署基于Web的应用程序所需的所有工具和服务。ASP...
ExtJs+Dwr(Grid)实现分页功能,很实用
基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发 项目说明 技术栈: SpringBoot MyBatis Redis MySQL FreeMarker ExtJs 基于SpringBoot+FreeMarker+MyBatis+...
3. 创建ASP.NET页面:在客户端,使用ExtJs创建Grid组件,并配置分页工具栏。设置数据源为WCF服务的URL,并监听分页事件,调用服务获取新的数据。 4. 构建AJAX请求:在分页事件触发时,利用ExtJs的Ajax请求机制,向...
strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类
Store内置了分页功能,通过配置`autoLoad`、`pageSize`等属性可以实现分页加载数据。 2. Grid:EXTJS Grid是数据展示的主要组件,它与Store绑定后,可以自动展示Store中的数据,并支持分页操作,如切换页码、显示每...
7. **优化性能**:考虑使用分页(Paging)和延迟加载(Lazy Loading)来优化大数据量的加载,提高用户体验。 通过这个实例,开发者可以掌握ExtJS和Struts2的结合使用,实现动态数据驱动的表格,这对于开发数据密集...
总结起来,使用ExtJS实现动态加载Grid并集成CRUD和分页功能,需要熟练掌握Store、Grid、Proxy和分页工具栏的配置,以及后台接口的设计。通过这种方式,可以构建出高效、灵活且用户友好的数据管理界面。