WareCompanyDAOimpl代码:
// 显示厂家信息 (Callback 回调函数)
public List findPageAll(final int start, final int limit) {
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q = session.createQuery("from WareCompany");
q.setFirstResult(start * limit);
q.setMaxResults(limit);
return q.list();
}
});
}
// 得到厂家信息总条数
public int totalRecord() {
int count = 0;
Integer l = (Integer) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q = session
.createQuery("select count(w.companyid) from WareCompany w");
return q.uniqueResult();
}
});
count = l.intValue();
return count;
}
WareCompanyAction 代码:
public class WareCompanyAction extends ActionSupport implements
ServletRequestAware, ServletResponseAware {
WareCompanyService wcs = null;
public WareCompanyService getWcs() {
return wcs;
}
public void setWcs(WareCompanyService wcs) {
this.wcs = wcs;
}
WareCompany wc = new WareCompany();
public WareCompany getWc() {
return wc;
}
public void setWc(WareCompany wc) {
this.wc = wc;
}
protected HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
protected HttpServletResponse response;
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
// 分页查询公司信息
public String SelectCompany() {
int totalProperty = wcs.totalRecord();
int start;
try {
start = Integer.parseInt(request.getParameter("start"));
} catch (NumberFormatException e1) {
start = 0;
}
int limit;
try {
limit = Integer.parseInt(request.getParameter("limit"));
} catch (NumberFormatException e1) {
limit = 3;
}
if (start > 0)
start = start / limit;
// Hibernate级联时,用json有错误,要把被级联的那个对象干掉,这样就没法显示被级联的对象了
// JsonConfig conf = new JsonConfig();
// conf.setExcludes(new String[]{"newstype"});
List list = wcs.findPageAll(start, limit);
JSONArray jsonArray = new JSONArray();
Iterator ite = list.iterator();
// 对list转变成的ite进行遍历,得到每个对象,并put到map里,再把map放到json数组里
while (ite.hasNext()) {
WareCompany news = (WareCompany) ite.next();
Map map = new HashMap();
// String time = new SimpleDateFormat("yyyy-MM-dd").format(news
// .getNewsDateTime());
// map.put("newsDateTime", time);
map.put("companyid", news.getCompanyid());
map.put("companyName", news.getCompanyName());
map.put("linKman", news.getLinKman());
map.put("phone", news.getPhone());
map.put("address", news.getAddress());
map.put("qiTafangShi", news.getQiTafangShi());
map.put("beiZhu", news.getBeiZhu());
jsonArray.add(map);
}
String jsonStr = jsonArray.toString();
// 为了分页,要加上start,limit,totalProperty,下面的符合json数据的形式
String jsonString = "{start:" + start + ",limit:" + limit
+ ",totalProperty:" + totalProperty + ",newsList:" + jsonStr
+ "}";
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(jsonString);
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
response.setContentType("text/html;charset=utf-8");
try { // 输出来,到jsp页面调用
response.getWriter().write(jsonString);
} catch (IOException e) {
e.printStackTrace();
}
return null;// 返回null
}
}
js代码:
// 显示进货厂家的表格
WareCompanyPanel = Ext.extend(Ext.grid.GridPanel, {
constructor : function() {
this["store"] = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy( {
url : "./SelectWca.action",
method : "post"
}),
// reader解析
reader : new Ext.data.JsonReader( {
// autoLoad:true,
root : "newsList",// 解析指定json的节点
// 分页需要的属性(数量)
totalProperty : "totalProperty",
id : 'companyid'
}, Ext.data.Record.create(["companyid", "companyName",
"linKman", "phone", "address", "qiTafangShi",
"beiZhu"]))
});
WareCompanyPanel.superclass.constructor.call(this, {
//renderTo : Ext.getBody(),
height : 300,
width : 500,
colModel : new Ext.grid.ColumnModel([ {
header : "供应商ID",
width : 100,
sortable : true,
dataIndex : 'companyid'
}, {
header : "供应商",
width : 100,
sortable : true,
dataIndex : 'companyName'
}, {
header : "联系人",
width : 100,
sortable : true,
dataIndex : 'linKman'
}, {
header : "联系电话",
width : 100,
sortable : true,
dataIndex : 'phone'
}, {
header : "联系地址",
width : 100,
sortable : true,
dataIndex : 'address'
}, {
header : "其他联系方式",
width : 100,
sortable : true,
dataIndex : 'qiTafangShi'
}, {
header : "备注",
width : 100,
sortable : true,
dataIndex : 'beiZhu'
}]),
/*
* store : new Ext.data.JsonStore( { autoLoad : true,//
* 等于store.load(); data : [ { name : "sss", age : 28, sex : "女" }, {
* name : "sss", age : 28, sex : "男" }], fields : ["id", "name",
* "age", "sex"] }),
*/
selModel : new Ext.grid.RowSelectionModel( {
singleSelect : true,
listeners : {
"rowselect" : {
// 调用选中行的事件
// fn:onRowSelect,
// fn:function(_sel, _index , _r){
// alert(_index);
// °获取上面的formPanel
// Ext.getCmp("view_form").getForm().loadRecord(_r);
// this.fireEvent("rowselect",_r);
// },
// 作用域
// scope:this
}
}
}),
// PagingToolbar
bbar : new Ext.PagingToolbar( {
pageSize : 5,
store : this.store,
displayInfo : true,
firstText : '第一页',
lastText : '最后一页',
nextText : '下一页',
prevText : '上一页',
refreshText : '刷新',
beforePageText : '页',
afterPageText : "至 {0}",
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : '暂无数据'
// items:
})
} );
this.getStore().load( {
params : {
start : 0,
limit : 5
}
});
}
});
分享到:
相关推荐
标题中的"一个ext+spring+hibernate+struts2做的系统---源代码"表明这是一个基于Java技术栈的Web应用程序,使用了EXTJS(EXT)作为前端框架,Spring作为核心控制层,Hibernate作为持久化框架,以及Struts2作为MVC...
Struts2、Spring、Hibernate 和 ExtJS 是Java Web开发中常用的四大框架,它们结合使用能够构建出高效、灵活的企业级应用。在这个“物资管理系统”案例中,这些技术被整合在一起,实现了对物资信息的全面管理。 **...
【标题】"客户关系管理系统(Struts2+spring+Extjs)附带数据库sql"是一个基于Java技术栈开发的完整CRM系统实现,集成了Struts2、Spring和Extjs框架,并且提供了配套的MySQL数据库SQL脚本,用于快速搭建和初始化数据库...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
总结来说,这个SSH+ExtJS分页小例子展示了如何利用Spring、Struts和Hibernate处理后端数据,以及如何结合ExtJS展示分页结果。通过理解这些代码,开发者可以学习到如何在Java Web应用中实现高效的数据分页,并且了解...
标题中的"SSH2+ExtJS源码(带分页效果)"指的是一个使用Struts2、Spring、Hibernate和ExtJS这四个核心技术构建的Web应用程序示例。这个项目中,开发者集成这些框架来实现数据的CRUD操作,并且具有分页显示的功能,...
SSH+EXTJS是一种常见的Web开发框架组合,其中SSH代表Struts2、Hibernate和Spring,而EXTJS是一个前端JavaScript框架。这个“ssh+extjs全注解的上传、分页、验证码的demo”提供了如何在SSH后端框架基础上,结合EXTJS...
本文档介绍了一个基于Struts2、Spring、Hibernate、ExtJs和JSON的分页解决方案。该方案利用了前端框架ExtJs与后端框架的结合,实现了高效的数据分页功能。 #### 二、关键技术点 ##### 1. Struts2 Struts2是Apache ...
EXTJS+SSH+Java项目是将前端富客户端技术EXTJS与后端Spring、Struts2、Hibernate(SSH)三大框架相结合的应用实践。这种组合在企业级应用开发中常见,能够提供高效、美观且功能丰富的用户界面,同时具备强大的数据...
SSH2(Spring、Struts2、Hibernate2)和EXTJS是两种常见的开源技术,用于构建企业级Web应用程序。本项目实例结合了这两种技术,提供了一个基础的增删改查(CRUD)应用,展示了EXTJS在用户界面设计上的强大功能以及...
2. S2SH:S2SH 是Struts2、Spring 和Hibernate的缩写,是一种流行的企业级Java Web开发框架。Struts2作为MVC框架负责处理请求和视图的呈现,Spring提供依赖注入和事务管理,而Hibernate则是一个对象关系映射(ORM)...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是一种常见的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。在这个实例中,SSH框架与ExtJS 4.0结合,提供了强大的前端展示和后端数据处理能力。 ...
这是一个基于S2SH(Struts2、Spring、Hibernate)架构,并结合了Extjs4.1前端框架和swfupload多文件上传插件的简单入门级项目实例。该项目旨在帮助初学者快速理解这些技术如何协同工作,创建一个具备基础功能的Web...
SSH是Spring、Struts2和Hibernate三个开源框架的组合,它们在Java Web开发中广泛使用,提供了模型-视图-控制器(MVC)架构的支持。而ExtJS是一个强大的JavaScript库,用于构建富客户端的Web应用,它提供了丰富的UI...
SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。Struts2提供了MVC架构,Spring管理依赖注入和事务处理,Hibernate则作为持久层框架,简化了数据库操作...
SSH_ExtJS项目实例是一个基于Java开发的Web应用程序,它结合了Spring、Struts2和Hibernate这三大主流的Java EE框架,并且利用Ext JS 4作为前端展示技术,提供了丰富的用户界面和交互体验。SSH(Spring、Struts2、...
SSH(Struts2、Spring、Hibernate)是一个常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用。Struts2是MVC(模型-视图-控制器)架构的一部分,负责处理HTTP请求和展示视图;Spring作为依赖注入容器,...
EXTJS与SSH(Struts2、Spring、Hibernate)框架的集成是Web应用程序开发中的常见实践,这使得开发者能够利用EXTJS强大的前端交互能力和SSH的后端业务处理能力,构建高效、用户友好的企业级应用。在"extjs+ssh的完全...
EXTJS与SSH(Struts2、Hibernate、Spring)是两种不同的技术栈,但在Web开发中,它们经常结合使用,以构建功能丰富的企业级应用程序。EXTJS是一个强大的JavaScript库,用于创建用户界面,而SSH则是一种Java后端开发...