jquery demo - jquery表格插件flexigrid的java简单应用实例

http://blog.csdn.net/ghyg525/article/details/17612993

flexigrid效果堪比extjs,  是一个很不错了jQuery表格插件

先看效果,  显示简单显示数据:



插件自动发送指定的ajax请求, 只需返回固定格式的json字符串就可以得到以上效果, 

页面代码如下:

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <html>  
  2. <head>  
  3.     <title>简单显示表格</title>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
  5.     <link type="text/css" href="flexigrid/css/flexigrid_blue.css" rel="stylesheet"/>  
  6.     <script type="text/javascript" src="flexigrid/jquery.js"></script>    
  7.     <script type="text/javascript" src="flexigrid/flexigrid.js"></script>  
  8.   
  9. <script type="text/javascript">  
  10.       
  11.     $(function() {  //flexigrid表格设置  
  12.         $("#flex").flexigrid({  
  13.                 url : 'userlist',   //ajax方式对应的url地址  
  14.                 dataType : 'json',  //请求数据格式  
  15.                 colModel : [{  
  16.                         display : 'ID',  
  17.                         name : 'userid',  
  18.                         width : 60, //得加上 要不IE报错  
  19.                         sortable : true,    //是否可被排序  
  20.                         align : 'center'  
  21.                     }, {  
  22.                         display : '用户',  
  23.                         name : 'username',  
  24.                         width : 100,  
  25.                         sortable : true,  
  26.                         align : 'center'  
  27.                     }, {  
  28.                         display : '密码',  
  29.                         name : 'password',  
  30.                         width : 100,  
  31.                         sortable : true,  
  32.                         align : 'center'  
  33.                     }, {  
  34.                         display : '类型',  
  35.                         name : 'usertype',  
  36.                         width : 100,  
  37.                         sortable : true,  
  38.                         align : 'center'  
  39.                     }],  
  40.   
  41.                 usepager : true,    //是否使用分页  
  42.                 sortname : 'userid',    //按那一列排序  
  43.                 sortorder : 'asc',  //排序方式  
  44.                 rp : 5, //每页默认显示数量  
  45.                   
  46.                 useRp : true,   //是否可动态设置每页显示数量  
  47.                 striped : true, //是否显示斑纹效果  
  48.                 resizable : false,  //是否可伸缩  
  49.                 nowrap : true, // 是否不换行  
  50.                 showTableToggleBtn : false, //是否显示表开关  
  51.                 checkbox: false,//是否显示第一列的checkbox(用于全选)  
  52.                   
  53.                 errormsg : '发生错误',  //错误提示信息  
  54.                 nomsg : '无相关记录',    //无结果提示信息  
  55.                 procmsg : '正在处理,请稍候 ... ',  //正在处理的提示信息  
  56.                 pagestat : '显示 {from} / {to} 行,共 {total} 行',    // 显示当前页和总页面的样式  
  57.                   
  58.                 autoload : true,        // 自动加载   
  59.                 blockOpacity : 1,   // 透明度设置   
  60.                 minwidth : 30,  // 列的最小宽度     
  61.                 minheight : 80, // 列的最小高度     
  62.                   
  63.                 width : 500,      
  64.                 height : 120,  
  65.                 title : '用户列表'  
  66.             })  
  67.     });  
  68.   
  69. </script>  
  70.   
  71. </head>  
  72. <body>  
  73.   
  74.     <table id="flex" ></table>  
  75.   
  76. </body>  
  77. </html>  


后台使用最原始的servlet实现, 代码如下: 

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. @WebServlet("/userlist")  
  2. public class UserListServlet extends HttpServlet{  
  3.   
  4.     @Override  
  5.     protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
  6.             throws ServletException, IOException {  
  7.         this.doPost(req, resp);  
  8.     }  
  9.   
  10.     @Override  
  11.     protected void doPost(HttpServletRequest req, HttpServletResponse resp)  
  12.             throws ServletException, IOException {  
  13.   
  14.         String sortname = req.getParameter("sortname"); //排序字段  
  15.         String sortorder = req.getParameter("sortorder");       //排序方式  
  16.         int page = Integer.valueOf(req.getParameter("page"));       //当前页码  
  17.         int rp = Integer.valueOf(req.getParameter("rp"));       //每页显示数量  
  18.   
  19.         UserService userService = new UserService();  
  20.           
  21.         //获取用户列表信息  
  22.         List<Map<String, Object>> users = userService.getUserList(sortname,sortorder,(page-1)*rp,rp);  
  23.           
  24.         //获取用户总数  
  25.         int total = userService.getUserTotal();  
  26.           
  27.         //换取flexigrid需要的json对象字符串  
  28.         String jsonstr = JsonUtil.getJson(users,page,total);  
  29.   
  30.         //返回json字符串  
  31.         resp.getWriter().write(jsonstr);  
  32.           
  33.     }  
  34.       
  35. }  


UserService代码片段:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.  * 获取用户列表 
  3.  * @param sortname 
  4.  * @param sortorder 
  5.  * @param begin 
  6.  * @param rows 
  7.  * @return 
  8.  */  
  9. public List<Map<String, Object>> getUserList(String sortname, String sortorder,int begin, int rows) {  
  10.     String sql = "select * from user order by "+sortname+" "+sortorder+" limit "+begin+","+rows+"";  
  11.     return DbUtil.queryForList(sql, null);  
  12. }  
  13.   
  14. /** 
  15.  * 获取用户总数 
  16.  * @return 
  17.  */  
  18. public int getUserTotal(){  
  19.     String sql = "select count(*) from user";  
  20.     int total = Integer.valueOf(DbUtil.queryForMap(sql, null).get("count(*)").toString());  
  21.     return total;  
  22. }  



JsonUtil类代码片段:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. public static String getJson(List<?> list, int page, Object total) {  
  2.     Map<String,Object> result = new HashMap<String, Object>();  
  3.     result.put("rows", list);  
  4.     result.put("page", page);  
  5.     result.put("total", total);  
  6.     return gson.toJson(result);  
  7. }  

数据库结构可见图中显示,  dao层比较简单在此不在敷衍,

上述只是最简单的显示数据, 此外还可以添加增删改按钮实现更丰富的功能,

下图是配合jquery另一款插件jqmodal实现的效果:


待续...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值