Spring mvc+easyui做列表展示及分页
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Spring mvc+easyui做列表展示及分页,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5575字,纯文字阅读大概需要8分钟。
内容图文
Spring mvc有一个注解@ResponseBody可以自己将返回数据解析成json,不用在response.getWriter(),设置response的编码之类的。
1、首先在spring-mvc.xml中配置如下
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean id="utf8StringHttpMessageConverter" class="com.liyi.test.common.UTF8StringHttpMessageConverter" /> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean>
别忘了,在下面还有一个UTF8StringHttpMessageConcerter类需要引入
package com.liyi.test.common; import java.io.IOException; import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.util.Arrays; import java.util.List; import org.springframework.http.HttpOutputMessage; import org.springframework.http.MediaType; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.util.FileCopyUtils; public class UTF8StringHttpMessageConverter extends StringHttpMessageConverter { private static final MediaType utf8 = new MediaType("text", "plain", Charset.forName("UTF-8")); private boolean writeAcceptCharset = true; @Override protected MediaType getDefaultContentType(String dumy) { return utf8; } protected List<Charset> getAcceptedCharsets() { return Arrays.asList(utf8.getCharSet()); } protected void writeInternal(String s, HttpOutputMessage outputMessage) throws IOException { if (this.writeAcceptCharset) { outputMessage.getHeaders().setAcceptCharset(getAcceptedCharsets()); } Charset charset = utf8.getCharSet(); FileCopyUtils.copy(s, new OutputStreamWriter(outputMessage.getBody(), charset)); } public boolean isWriteAcceptCharset() { return writeAcceptCharset; } public void setWriteAcceptCharset(boolean writeAcceptCharset) { this.writeAcceptCharset = writeAcceptCharset; } }
2、配置好了,就可以写展示列表的后台代码了,以下,有两个方法,一个是做页面跳转用的,一个是用于ajax请求数据的。
@RequestMapping("/toUserList") public String redirctUserList(){ return "user/new_user_list"; } @ResponseBody @RequestMapping("/userList") public String userList(@RequestParam Map<String,Object> conds){ //默认每页10条 int pageSize = 10; //默认第一页 计算开始条数 int currentPage = 1; //获取页面传来每页显示条数 String row = (String) conds.get("rows"); //获取页面传来当前页码 String page = (String) conds.get("page"); if(null!=row&&!"".equals(row)){ pageSize=Integer.valueOf(row); } if(null!=page&&!"".equals(page)){ currentPage= Integer.valueOf(page); } Map<String,Object> map = new HashMap<String,Object>(); //计算一共有多少条 int count = userService.getTotalPage(); map.put("pageCount",pageSize); //计算从第几条开始 map.put("currentPage",new PageUtil().getCurrent(currentPage,pageSize)); List<UserPO> list = userService.findAll(map); Map<String,Object> map1 = new HashMap<String,Object>(); map1.put("total", count); map1.put("rows",list); String json = JSON.toJSONString(map1, true); System.out.println(json); return json; }
只需要把你需要返回的数据,用fastjson将对象转成json串传入到页面,页面直接就可以取到。其中要注意,easyui展示列表的json如下:
[ { "total": 13, "rows": [ { "createTime": 1438678875000, "id": 1, "mobile": "123456", "name": "liyi", "pwd": "123456" }, { "createTime": 1438679219000, "id": 2, "mobile": "123456", "name": "scc", "pwd": "123456" }, { "createTime": 1438679264000, "id": 3, "mobile": "123456", "name": "diudiu", "pwd": "123456" }, { "createTime": 1438679338000, "id": 4, "mobile": "123456", "name": "xiaopaigu", "pwd": "123456" }, { "createTime": 1438680558000, "id": 5, "mobile": "123456", "name": "iphone", "pwd": "123456" }, { "createTime": 1438682344000, "id": 6, "mobile": "123456", "name": "iphone1", "pwd": "123456" }, { "createTime": 1438754235000, "id": 7, "mobile": "123456", "name": "abc", "pwd": "123456" }, { "createTime": 1438852983000, "id": 8, "mobile": "11", "name": "11", "pwd": "11" }, { "createTime": 1438914359000, "id": 9, "mobile": "123456", "name": "123456", "pwd": "456789" }, { "createTime": 1439530418000, "id": 10, "mobile": "123", "name": "123", "pwd": "123" } ] } ]
3、jsp页面首先引入easyui的js 以及css
<link rel="stylesheet" type="text/css" href="static/jquery-easyui-1.3.2/themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="static/jquery-easyui-1.3.2/themes/icon.css"> <script type="text/javascript" src="static/js/jquery-1.8.0.min.js"></script> <script type="text/javascript" src="static/jquery-easyui-1.3.2/jquery.easyui.min.js"></script> <script type="text/javascript"> $(function(){ $(‘#dg‘).datagrid({ url:‘${app}/userController/userList.do‘, columns:[[ {field:‘name‘,title:‘姓名‘,width:100 }, {field:‘mobile‘,title:‘手机号‘,width:100}, {field:‘_operate‘,width:80,align:‘center‘,formatter:function(value,rec){ return "<a href=‘‘ >编辑</a>"; },title:‘操作‘} ]], toolbar: [{ iconCls: ‘icon-add‘, handler: function(){alert(‘编辑按钮‘)} },‘-‘,{ iconCls: ‘icon-help‘, handler: function(){alert(‘帮助按钮‘)} }], fitColumns:true, striped:true, pagination:true, rownumbers:true, pageNumber:1, pageSize:10, pageList:[10,20,30,40,50] }); }) </script> <table id="dg"></table>
4、分页你可以用firefox观察一下,他会传入到后台两个参数,一个是当前页page,一个是rows每页的数量,根据我上篇文章的分页工具即可。在找到上面的List展示方法就可以了。
原文:http://my.oschina.net/u/1998885/blog/492498
内容总结
以上是互联网集市为您收集整理的Spring mvc+easyui做列表展示及分页全部内容,希望文章能够帮你解决Spring mvc+easyui做列表展示及分页所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。