刚学,只做了简单的分页显示,借鉴别人的,网址忘了,呵呵
数据库:
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分页小例子
搭建的ssh+extjs的框架,已投入使用
ssh+extjs+mysql整合
ssh文件是struts2.3.15,hibernate4.2.5 spring3.2.4 extjs4.2.1
SSH+Extjs开发视频教程-基于SSH+Maven+Extjs4+MySQL技术实战开发CRM客.doc
最近自己动手做了一个后台使用struts2+Hibernate+Spring 前台使用extjs的工程当作练习。...后续可以通过日期或者内容进行查询和修改。 主要的练习点在 1 SSH框架的搭建和使用; 2 extjs组件化创建。
SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统
该demo为Spring2.0+struts2.0+hibernate3 +extjs4.0整合开发得demo。希望对想了解extjs4的同学有帮助!没资源分了挣点资源分!
ssh + extjs 4登录的小例子(前后台代码)
这是一个基于EXTJS+SSH+ORACLE实现的demo,完整的前台到后台的实现,有需要的朋友拿去吧···
ssh+extjs+json
SSH+extjs做的简易论坛_Italk吧_SSH+extjs做的简易论坛_Italk吧_SSH+extjs做的简易论坛_Italk吧_
SSH + EXTJS_管理系统.rarSSH + EXTJS_管理系统.rarSSH + EXTJS_管理系统.rar
spring3.1+struts2.3+hibernate4+extjs4.1 项目中的功能有注册登录,人员维护,项目维护,权限管理,统计(采用extjs chart),分页,查询等功能
SSH+EXTJS4 的一个模块实现,使用的是mysql数据库,sql文件在文件夹里面
struts2+spring+hibernate整合(ssh+extjs整合)小项目“VIP消费查询系统”源码(源码+系统设计文档+建表语句+所有jar包)。该项目包含以下功能: 登录:本系统为商场VIP消费情况查询系统,具有一定的保密性。因此必须...
ssh+extjs spring定时任务
ssh+extjs4.0grid删除数据实例,包没有了大家把包下载下来! 我的资源中有extjs的依赖包!
ssh+extjs的一个小例子,分享,顺便用来备份总结方便以后查阅。
ssh+extjs人力资源管理系统.rar