Jqgrid入门-结合Struts2+json实现数据展示(五)
DEMO用的是ssh框架实现的,具体怎么搭建的就不多做说明了。分页表格的数据操作难点就是数据展现。至于增删改直接用hibernate原生的方法实现即可。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
/*** @param pageSize* 每页显示多少条* @param currentPage* 当前页* @param paramMap* 参数* @param sidx* 排序的列* @param sord* 升序or降序* @return*/public Map<?, ?> queryByJQGrid(int pageSize, int currentPage, Map<String, String> paramMap, String sidx, String sord); |
接着我们来实现这个接口。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
@Overridepublic Map<?, ?> queryByJQGrid(int pageSize, int currentPage, Map<String, String> paramMap, String sidx, String sord) {Map result = new HashMap();List list = null;try {Criteria cr = DetachedCriteria.forClass(Student.class).getExecutableCriteria(this.getSession());if ((paramMap != null) && (paramMap.size() > 0)) {String key = null;String value = null;Iterator ite = paramMap.keySet().iterator();while (ite.hasNext()) {key = (String) ite.next();value = (String) paramMap.get(key);if ((key != null) && (key.trim().length() > 0) && (value != null) && (value.trim().length() > 0)) {cr.add(Restrictions.like(key, "%" + value.trim() + "%"));}}}Integer totcount = (Integer) cr.setProjection(Projections.rowCount()).uniqueResult();cr.setProjection(null).setResultTransformer(Criteria.ROOT_ENTITY);if (!StringUtils.isEmpty(sidx)) {list = cr.addOrder(((sord != null) && (sord.trim().equalsIgnoreCase("asc"))) ? Order.asc(sidx.split(" ")[0]) :Order.desc(sidx.split(" ")[0])).setFirstResult((currentPage - 1) * pageSize).setMaxResults(pageSize).list();}result.put("totalCount", totcount);result.put("dataList", list);} catch (Exception e) {e.printStackTrace();}return result;} |
|
1
2
3
4
5
6
7
8
|
protected List dataList = Collections.emptyList(); //数据集合protected Integer rows = Integer.valueOf(0); //行数protected Integer page = Integer.valueOf(0); //当前页数protected Integer total = Integer.valueOf(0); //数据总页数protected Integer record = Integer.valueOf(0); //数据总条数protected String sord; //排序方式protected String sidx; //排序字段protected String search; |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public String query() {Map<String, String> paramMap = new HashMap<String, String>();Map map = null;if (null != stuName && stuName.trim().length() > 0) {paramMap.put("name", stuName);}map = queryAllStudentService.queryByJQGrid(rows, page, paramMap, sidx, sord);this.dataList = (ArrayList) map.get("dataList");Object totalCount = map.get("totalCount");this.record = Integer.valueOf(Integer.parseInt((totalCount == null) ? "0" : totalCount.toString()));this.total = Integer.valueOf((int) Math.ceil(this.record.intValue() / this.rows.intValue()));return "query_success";} |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<package name="student" extends="json-default"><action name="QueryActionUrl_*" method="{1}"><result name="query_success" type="json"><param name="includeProperties">dataList\[\d+\]\.id,dataList\[\d+\]\.name,dataList\[\d+\]\.age,dataList\[\d+\]\.address,dataList\[\d+\]\.class,dataList\[\d+\]\.likedo,dataList\[\d+\]\.phone,dataList\[\d+\]\.sex,rows, page, total,record</param><param name="noCache">true</param><param name="ignoreHierarchy">false</param><param name="contentType">text/html</param></result></action></package> |
注意:在Struts2中使用json还需要json-plagin.jar的支持。不然会抛There is no mapping for namespace异常。如果还有什么不明白的地方,留下你的评论。
原创文章,转载请注明: 转载自java开发者
本文链接地址: Jqgrid入门-结合Struts2+json实现数据展示(五)
Jqgrid入门-结合Struts2+json实现数据展示(五)的更多相关文章
- JqGrid 自定义子表格 及 自定义Json 格式数据不展示
项目第一次使用JqGrid ,发现功能强大,但由于对他不熟悉,也没有少走弯路,记录一下. 1.引用 <link href="~/Scripts/JqGrid/jqgrid/css/ui ...
- Jqgrid入门-使用模态对话框编辑表格数据(三)
Jqgrid是一个强大的表格插件,它提供了多种方式来编辑数据.这三种方式分别是: Cell Editing——只允许修改某一个单元格内容 Inline Editing——允许在jqGr ...
- Struts2+Jquery实现ajax并返回json类型数据
来源于:http://my.oschina.net/simpleton/blog/139212 摘要 主要实现步骤如下: 1.JSP页面使用脚本代码执行ajax请求 2.Action中查询出需要返回的 ...
- Jqgrid入门-Jqgrid列数据拖动(七)
上一章提到在Jqgrid中如何设置二级表头,这一章节主要探讨Jqgrid表格里面的数据如果实现拖动功能,比如你想把第一行的数据拖到当前页的最后一行,或者其他位置. Jqgrid表格插件自己没有 ...
- 转载:Struts2+Jquery实现ajax并返回json类型数据
摘要: 主要实现步骤如下: 1.JSP页面使用脚本代码执行ajax请求 2.Action中查询出需要返回的数据,并转换为json类型模式数据 3.配置struts.xml文件 4.页面脚本接受并处理数 ...
- MVC框架json数据展示程序(第一版)
模型原型:服务器的配置和运行状态信息. 设计要求:Json格式数据解析后,判断配置信息是否是新数据或者是否更新.如是新数据,则直接添加到数据库:若是数据更新,则更新数据库配置信息并更新运行状态信息:都 ...
- Sencha touch 2 入门 -------- DataView 显示服务器端JSON文件数据
今天学习了下DataView如何显示JSON文件数据,废话不多说,直接贴代码: 首先看下文件目录: 然后看下我们要处理的JSON文件,bookInfo.json. { "success&qu ...
- Java入门系列:处理Json格式数据
本节主要讲解: 1)json格式数据处理方法 2)第三方工具包的使用方法 3)java集合数据类型 [项目任务] 编写一个程序,显示未来的天气信息. [知识点解析] 为了方便后面代码的分析,先需要掌握 ...
- Jqgrid入门-Jqgrid设置二级表头(六)
上一章已经说明了Jqgrid结合Struts2+json展示数据,这一章主要探讨Jqgrid如何设置二级表头,类似这样的效果.如: 要实现这个功能,其实也不难.通过Jqgrid的s ...
随机推荐
- Careercup - Facebook面试题 - 4922014007558144
2014-05-01 02:13 题目链接 原题: Design question: Say you have hacked in to a network and can deploy your b ...
- BZOJ 1083: [SCOI2005]繁忙的都市 裸的最小生成树
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1083 代码: #include<iostream> #include< ...
- C#调用大漠插件的方法和实例
大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多.前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料 ...
- [设计模式] 19 观察者模式 Observer Pattern
在GOF的<设计模式:可复用面向对象软件的基础>一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.当一个 ...
- 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
#include<stdio.h> #include<stdlib.h> int main() { setvbuf(stdout,NULL,_IONBF,); //使用Ecli ...
- jsp的常用指令有哪些(编译指令/动作指令整理)
jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释
- 几款实用的 JavaScript 图形图表库
一款好的图表插件不是那么容易找到的.最近项目里需要实现统计图表功能,所以在网上搜罗了一圈,找到一些不错的图表插件,分享大家.众多周知,图形和图表要比文本更具表现力和说服力.这里给大家精心推荐几款实用的 ...
- 个人Android作品开发——FinancePad记账通
开发背景:针对在外工作的年轻一族,记录平时生活消费记录,方便清楚自己的钱花在哪些地方,方便管理. 开发时间:2013年7月中旬 开发环境:Eclipse Andorid SDK V2.0 开发语言:J ...
- POJ 1795
DNA Laboratory Time Limit: 5000MS Memory Limit: 30000K Total Submissions: 1425 Accepted: 280 Des ...
- 李洪强iOS开发之OC语言构造方法
OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法 ...