`

ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友)

阅读更多

今天琢磨了半天,终于把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相信大家应该可以搞定的~嘻嘻!
1
0
分享到:
评论
2 楼 辉煌之至 2015-08-06  
不会啊,求
1 楼 chenglnb 2012-05-19  
还不错 要是能实现复选框的选定就好了

相关推荐

    extjs+s2sh

    在IT行业中,"extjs+s2sh"是一个典型的前端与后端框架的集成案例,它结合了ExtJS、Struts2、Hibernate和Spring这四个关键组件。这些技术的结合为开发人员提供了一套完整的解决方案,用于构建功能丰富的、数据驱动的...

    EXTJS+S2SH+DWR

    EXTJS+S2SH+DWR 是一种常见的Web应用程序开发架构,结合了三种强大的技术来构建交互性强、用户体验良好的企业级应用。以下是对这些技术及其在雇员管理系统中的应用的详细解释: 1. EXTJS:EXTJS 是一个JavaScript库...

    extjs+s2sh基于annotation的理财系统

    【标题】"extjs+s2sh基于annotation的理财系统"是一个综合性的IT项目,它结合了前端的ExtJS框架和后端的Struts2、Spring、Hibernate(S2SH)框架,并利用注解(Annotation)进行配置,构建了一个完整的理财管理系统...

    ExtJS笔记---Grid实现后台分页

    这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...

    Extjs+s2sh基于annotation实现的酒店管理系统

    【标题】:“Extjs+s2sh基于annotation实现的酒店管理系统”是一个综合性的IT项目,它融合了前端的Extjs框架和后端的Spring、Struts2以及Hibernate这三大经典技术(合称为S2SH),并利用注解(Annotation)进行简化...

    北风网--Extjs项目之个人理财项目(Extjs+S2SH+Mysql) 真正的完整版源代码 真正的完整版源代码

    该项目是基于Extjs的个人理财管理系统,结合了S2SH(Struts2、Spring、Hibernate)框架和MySQL数据库,提供了一套完整的前后端解决方案。以下将详细解析该项目涉及的主要技术点和实现流程。 1. Extjs:Extjs是一个...

    extjs+s1sh 实现树的加载

    在本项目中,“extjs+s1sh 实现树的加载”描述了如何利用ExtJS与SSH(Struts2 + Spring + Hibernate)框架协同工作,以实现在页面无刷新的情况下动态加载树形数据。 首先,让我们详细了解一下ExtJS中的树形组件...

    ExtJs+WCF+LINQ实现分页Grid

    ExtJs+WCF+LINQ实现分页Grid

    php+extjs+grid实时显示更新数据

    EXTJS的Grid组件是一种强大的数据展示工具,可以轻松地处理大量数据,并提供灵活的排序、筛选和分页功能。 首先,我们需要理解PHP在其中的角色。PHP是一种广泛使用的服务器端脚本语言,特别适合于处理动态内容和与...

    ExtJs+Dwr带分页分组传参后台排序功能的grid

    总结来说,这个ExtJS+DWR的Grid实现涉及到了前端与后端的深度集成,利用了ExtJS的丰富UI组件和DWR的实时通信能力。通过Spring和Hibernate,实现了服务层和数据访问层的解耦,使得系统更易于维护和扩展。分页和分组...

    最好用的通用后台管理extjs+MySQL+oracle+SQL server数据库源码

    这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...

    Extjs+ASP.net 后台管理框架

    在本框架中,ExtJS负责处理用户界面的展示和交互,通过Ajax技术与后台进行异步通信,实现数据的动态加载和实时更新。 ASP.NET是微软的Web开发平台,它包含了开发和部署基于Web的应用程序所需的所有工具和服务。ASP...

    ExtJs+Dwr(Grid)实现分页功能

    ExtJs+Dwr(Grid)实现分页功能,很实用

    基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发

    基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发 项目说明 技术栈: SpringBoot MyBatis Redis MySQL FreeMarker ExtJs 基于SpringBoot+FreeMarker+MyBatis+...

    ASP.NET结合ExtJs+WCF+LINQ实现的分页Grid列表

    3. 创建ASP.NET页面:在客户端,使用ExtJs创建Grid组件,并配置分页工具栏。设置数据源为WCF服务的URL,并监听分页事件,调用服务获取新的数据。 4. 构建AJAX请求:在分页事件触发时,利用ExtJs的Ajax请求机制,向...

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    extjs 分页

    Store内置了分页功能,通过配置`autoLoad`、`pageSize`等属性可以实现分页加载数据。 2. Grid:EXTJS Grid是数据展示的主要组件,它与Store绑定后,可以自动展示Store中的数据,并支持分页操作,如切换页码、显示每...

    extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )

    7. **优化性能**:考虑使用分页(Paging)和延迟加载(Lazy Loading)来优化大数据量的加载,提高用户体验。 通过这个实例,开发者可以掌握ExtJS和Struts2的结合使用,实现动态数据驱动的表格,这对于开发数据密集...

    ExtJS 实现动态处理加载 grid 实现了CRUD还有分页功能

    总结起来,使用ExtJS实现动态加载Grid并集成CRUD和分页功能,需要熟练掌握Store、Grid、Proxy和分页工具栏的配置,以及后台接口的设计。通过这种方式,可以构建出高效、灵活且用户友好的数据管理界面。

Global site tag (gtag.js) - Google Analytics