刚学,只做了简单的分页显示,借鉴别人的,网址忘了,呵呵
数据库:
news表(id,newsTypeId,newsTitle,newsContent,newsDateTime)
newstype表(id,newstypeName)
NewsDAO.java
//一页显示的新闻
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 News n left join fetch n.newstype");
q.setFirstResult(start*limit);
q.setMaxResults(limit);
return q.list();
}
});
}
//得到记录总条数
public int totalRecord(){
int count = 0;
Long l = (Long)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q = session.createQuery("select count(n.id) from News n");
return q.uniqueResult();
}
});
count = l.intValue();
return count;
}
NewsAction.java
public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
int totalProperty = adminService.totalPropertyByNews();
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 = 2 ;
}
if(start>0)
start = start/limit;
//Hibernate级联时,用json有错误,要把被级联的那个对象干掉,这样就没法显示被级联的对象了
// JsonConfig conf = new JsonConfig();
// conf.setExcludes(new String[]{"newstype"});
List list = adminService.findPageAllNews(start, limit);
JSONArray jsonArray = new JSONArray();
Iterator ite = list.iterator();
//对list转变成的ite进行遍历,得到每个对象,并put到map里,再把map放到json数组里
while(ite.hasNext()){
News news = (News) ite.next();
Map map = new HashMap();
map.put("id", news.getId());
map.put("newstype", news.getNewstype().getNewstypeName());
map.put("newsTitle", news.getNewsTitle());
map.put("newsContent", news.getNewsContent());
String time = new SimpleDateFormat("yyyy-MM-dd").format(news.getNewsDateTime());
map.put("newsDateTime", time);
jsonArray.add(map);
}
String jsonStr = jsonArray.toString();
//为了分页,要加上start,limit,totalProperty,下面的符合json数据的形式
String jsonString = "{start:"+start+",limit:"+limit+",totalProperty:"+totalProperty+",newsList:"+jsonStr+"}";
response.setContentType("text/html;charset=utf-8");
try { //输出来,到jsp页面调用
response.getWriter().write(jsonString);
} catch (IOException e) {
e.printStackTrace();
}
return null;//返回null
}
newsList.jsp
<script type="text/javascript">
Ext.onReady(function(){
var sm = new Ext.grid.CheckboxSelectionModel();
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url:"news.do?method=list",
method:"post"
}),
reader: new Ext.data.JsonReader({//读取json数据
root:'newsList', //
totalProperty:'totalProperty', //总记录数
id:'id'
},[{name:'id'},
{name:'newstype'},
{name:'newsTitle'},
{name:'newsContent'},
{name:'newsDateTime'}
])
});
//创建列
var column = new Ext.grid.ColumnModel([
sm, //复选框
{header:'编号',dataIndex:'id'},
{header:'类型',dataIndex:'newstype',
renderer:function(value){
if(value=="国内新闻")
return "<font color='red'>国内新闻</span>";
}
},
{header:'标题',dataIndex:'newsTitle'},
{header:'内容',dataIndex:'newsContent'},
{header:'时间',dataIndex:'newsDateTime'}
]);
column.defaultSortable = true;//默认可排序
//创建一个工具条
var tba = new Ext.Toolbar();
//面板
var grid = new Ext.grid.GridPanel({
el:'showNews',
width:600,
height:300,
title:'新闻列表',
store:store,
cm:column, //创建的列
trackMouseOver:false,
autoScroll: true,
loadMask: {msg:'正在加载数据,请稍侯……'},
sm:sm,
//下边
bbar:new Ext.PagingToolbar({
pageSize:2,
store:store,
displayInfo:true,
displayMsg:'显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg:'没有记录'
})
});
grid.render();
store.load({params:{start:0,limit:2 }});
});
</script>
<body>
<div id="showNews" ></div>
</body>
分享到:
相关推荐
在这个"SSH+ExtJs分页小例子"中,我们将探讨如何将这两种技术结合实现数据分页显示。 首先,我们来看NewsDAO.java文件。这个文件包含了两个关键方法:`findPageAll`和`totalRecord`。`findPageAll`方法实现了分页...
这个“ssh+extjs全注解的上传、分页、验证码的demo”提供了如何在SSH后端框架基础上,结合EXTJS实现文件上传、分页显示数据以及验证码功能的示例。 首先,Struts2作为MVC(模型-视图-控制器)框架,负责处理HTTP...
SSH+ExtJS框架是Web应用开发中的一个常见组合,它结合了Struts2、Hibernate和Spring三大主流Java EE框架,并引入了ExtJS作为前端展示层技术。这个框架的使用大大提高了开发效率,提供了灵活的数据管理和用户界面交互...
在IT行业中,SSH+EXTJS4的整合开发是一种常见的前端与后端技术栈结合,用于构建功能丰富的Web应用程序。SSH代表Spring、Struts和Hibernate,它们分别是Java领域中用于处理不同层面的三个核心框架:Spring提供了依赖...
SSH+Extjs开发视频教程-基于SSH+Maven+Extjs4+MySQL技术实战开发CRM客.doc
在"ssh+extjs+mysql整合"中,我们将SSH框架与ExtJS前端技术和MySQL数据库结合起来,构建一个完整的Web应用。以下是对这个整合过程的详细说明: 1. **Spring**:Spring作为核心框架,负责管理应用程序的各个组件,...
最近自己动手做了一个后台使用struts2+Hibernate+Spring 前台使用extjs的工程当作练习。...后续可以通过日期或者内容进行查询和修改。 主要的练习点在 1 SSH框架的搭建和使用; 2 extjs组件化创建。
SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统
SSH+ExtJS是一种常见的Web应用开发模式,其中SSH代表Spring、Struts和Hibernate这三个Java开源框架的首字母缩写,而ExtJS则是一个强大的JavaScript前端框架。本demo完全实现了SSH和ExtJS的集成,提供了从前端用户...
ssh + extjs 4登录的小例子(前后台代码)
标题中的“ssh+extjs4小项目”指的是一个基于SSH框架和ExtJS 4的轻量级Web应用程序。SSH是Spring、Struts2和Hibernate三个开源框架的组合,它们在Java Web开发中广泛使用,提供了模型-视图-控制器(MVC)架构的支持...
SSH+EXTJS4 的一个模块实现,使用的是mysql数据库,sql文件在文件夹里面
struts2+spring+hibernate整合(ssh+extjs整合)小项目“VIP消费查询系统”源码(源码+系统设计文档+建表语句+所有jar包)。该项目包含以下功能: 登录:本系统为商场VIP消费情况查询系统,具有一定的保密性。因此必须...
SSH+Extjs Oa管理系统整合是一项复杂而关键的IT任务,涉及到多个技术栈的集成,主要包括Struts、Spring和Hibernate这三个Java EE框架,以及Extjs前端框架。在这样的系统中,SSH负责后端业务逻辑处理和数据管理,而...
SSH+ExtJS简单项目结合Spring定时任务是一种常见的企业级应用开发模式,主要涉及Spring、Struts2和Hibernate这三个Java EE框架以及ExtJS前端框架。在这个项目中,SSH用于后端业务逻辑处理和数据管理,而ExtJS则负责...
标题“SSH+ExtJS.rar”所指的,是将两种技术——Secure Shell (SSH) 和 Extensible JavaScript (ExtJS) 结合使用的项目压缩包。这个压缩包可能包含了一个使用SSH和ExtJS构建的Web应用程序的源代码和其他相关资源。 ...
《SSH+ExtJS人力资源管理系统详解》 在信息技术领域,企业资源管理系统的开发是至关重要的,它可以帮助企业高效地管理和优化其人力资源。SSH(Struts2、Spring、Hibernate)与ExtJS的结合,为企业构建出一个功能...
SSH + EXTJS_管理系统是一个基于SSH(Struts2、Spring、Hibernate)框架和EXTJS前端技术的综合管理系统项目。这个项目结合了后端强大的SSH框架和EXTJS的丰富交互界面,旨在提供一个高效、易用的企业级管理平台。 ...
【SSH+EXTJS+JSON】组合是开发Web应用程序的一种常见技术栈。SSH指的是Spring、Struts2和Hibernate三个开源框架的首字母缩写,EXTJS则是一个JavaScript库,用于构建富客户端应用程序,而JSON(JavaScript Object ...
### SSH+ExtJS 开发CRUD功能:深入解析与实践指南 #### 一、引言与框架概述 在软件开发领域,尤其是企业级应用开发中,整合多种技术框架以实现高效、灵活的功能构建已经成为常态。其中,“SSH”(即Struts2、...