LigerUI通过Struts2返回并显示
来源:互联网 发布:开的淘宝店怎么找不到 编辑:程序博客网 时间:2024/06/05 15:21
项目需求:需要把数据显示到表格中。表格用的是LigerUI,底层用的是Dao层。
完成步骤:第一步:首先从底层开始写获取数据的方法:
public List<NewsList> findAllNews() {//String sql="SELECT w2.n, w1.* FROM NewsList w1, (SELECT TOP "+pages*pageSize+" row_number() OVER (ORDER BY UpdateTime DESC, infoId DESC) n, infoId FROM NewsList) w2 WHERE w1.infoId = w2.infoId AND w2.n > "+(pages-1)*pageSize+" ORDER BY w2.n ASC";String sql="SELECT * from NewsList order by infoIndex desc";List<NewsList> nl=new ArrayList<NewsList>();JSONArray array=sqlHelper.query(sql);for (int i = 0; i < array.size(); i++) {JSONObject object=array.getJSONObject(i);NewsList newslist=(NewsList) ConvertJsonToObj.Convert(object, NewsList.class);nl.add(newslist);}return nl;}
第二步:在Action层中获取List,并转换成符合LigerUI的Json数组(需要在前面创建一个JSONObject对象 放入rows)
public String findAllNews(){List<NewsList> list=this.newlistListDao.findAllNews();HashMap<String, Object> maps=new HashMap<String, Object>();List<HashMap<String, Object>> lists=new ArrayList<HashMap<String,Object>>();for (NewsList os : list) {HashMap<String, Object> hashmaps=new HashMap<String, Object>();hashmaps.put("infoid",os.getInfoid());hashmaps.put("infoTitle", os.getInfoTitle());hashmaps.put("infoType",os.getInfoType());lists.add(hashmaps);}maps.put("rows", list);maps.put("total", list.size());//需要写进Json中,告诉LigerUI一共有多少数据rows=JSONObject.fromObject(maps);System.out.println(rows);return BaseAction.SUCCESS;}
第三步:在Struts.xml文件中配置
<action name="findAllNews" class="com.fudian.actions.NewsListAction" method="findAllNews"> <result type="json"> <param name="root">rows</param> </result> </action>第四步:前台JSP配置
$(function () { window['g'] = $("#maingrid").ligerGrid({ height: '99.2%', columns: [ {display:'新闻标题', name:'infoTitle', align: 'left', width: 400 }, {display:'新闻分类',name:'infoType',align:'left', width: 200}, {display:'更新时间',name:'updateTime',align:'left',width:200}, {display:'发布状态',name:'status',align:'left',width:100,render:function(item){ var str; if(item.status=="1"){ str="已发布"; }else{ str="未发布"; } return str; }}, ], dataAction:"local",//分页用ligerUI自己的分页 url:'<%=basePath%>fdirms/findAllNews', root:'rows', //内容需于返回来的名字对应!! record:'total', //总行数 delayLoad:true, rownumbers: true, usePager:true, pageSize: 20, rownumbers: true, }); $("#pageloading").hide(); }); $(function(){ g.set({ //数据请求地址 url:"<%=basePath%>fdirms/findAllNews", //数据书否分页,默认为true usePager:true, }); g.loadData(g.changePage('first')); });
在前台配置的时候需要注意的是:root那项一定要写你在Struts.xml文件配置中对应的返回对象名字,因为这个原因,我找了3个小时的错,才把数据显示出来。
其中我加入了一个render的方法,render方法可以帮助人们把状态的数字改成汉字,我在这里就是判断返回过来的status状态当为1的时候是已发布,其他的时候为未发布。
我这个分页是让LigerUI自己分页,所以在写SQL的时候是直接获取全部数据,所以在dataAction中的值为local 如果要是自己写分页也可以,dataAction的值为server。
如果值为Server的话,需要在Action中获取Pages和pageSize的两个值,并把两个值放进分页语句中。我的分页语句留在上面了,这个是SQL Server的分页语句,性能比较好的。需要借鉴的同学可以借鉴。
阅读全文
0 0
- LigerUI通过Struts2返回并显示
- LigerUI通过Struts2返回并显示
- LigerUI java struts2配置
- 一个关于LigerUI打开一个弹窗页面并将数据返回的方法
- 通过调用powershell命令监控虚拟机,并实时返回数据显示到listview上
- 通过请求不同的url返回Json对象并在前端显示的解决方法
- LigerUI 树状列表折叠显示
- Struts2 action通过struts2返回json方法(一)
- 通过 Intent传递数据,并返回结果
- SQLSERVER 返回错误代码并显示出来
- Django使用HttpResponse返回图片并显示
- struts2上传图片后并显示图片
- LigerUI
- ligerUI
- LigerUI
- LigerUI
- LigerUI
- LigerUI
- 亲测破解戴尔服务器windows server 2008 的登录密码
- CodeVS 2075 yh女朋友的危机 贪心 + DP
- Server JRE 简介
- CSDN如何转载别人的文章
- js-移动端android浏览器中input框被软键盘遮住的问题解决方案
- LigerUI通过Struts2返回并显示
- 51nod 1363 最小公倍数之和
- splay入坑
- 同一个tomcat多个web应用共享session
- Python中操作mysql的pymysql模块详解
- CentOS6 安装教程
- Java集合体系
- Java遍历List,删除自身元素
- JavaScript 学习