(转)json+flexgrid+jbox组合运用页面刷新<jsp>

插件效果
 1.JSP页面
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ include file="/inc/taglibs.jsp"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>用户管理</title>
 9 <link href="${ctx}/css/common.css" rel="stylesheet" type="text/css"></link>
10 <link href="${ctx}/css/layout.css" rel="stylesheet" type="text/css"></link>
11 <link href="${ctx}/css/forms.css" rel="stylesheet" type="text/css"></link>
12 <link rel="stylesheet" href="${ctx}/css/flexigrid.css" type="text/css"></link>
13 <script src="${ctx}/js/jquery-1.8.3.min.js" type="text/javascript" /></script>
14 <script src="${ctx}/js/flexigrid.js" type="text/javascript" /></script>
15 <script src="${ctx}/js/jBox/jquery.jBox-2.3.min.js"
16     type="text/javascript" /></script>
17 <link href="${ctx}/js/jBox/Skins/Blue/jbox.css" rel="stylesheet"
18     type="text/css">
19
20 </head>
21 <body>
22     <!--选项卡 begin -->
23     <div class="option">
24         <ul class="clearfix">
25             <li id="one1" class="hover"><span><img
26                     src="${ctx}/icon/icon01.gif" />用户列表</span></li>
27         </ul>
28     </div>
29     <!--角色列表 begin -->
30     <div id="con_one_1" style="padding: 10px;">
31         <form id="sform">
32             <table width="100%" border="0" cellpadding="0" cellspacing="0"
33                 class="tab2">
34                 <tbody>
35                     <tr>
36                         <th width="7%">营销活动:</th>
37                         <td width="11%"><select name="mySel" size="1"
38                             class="selectText"><option value="1" selected>营销活动a</option>
39                                 <option value="2">营销活动b</option></select></td>
40                         <th width="9%">产品名称:</th>
41                         <td width="11%"><select name="mySel" size="1"
42                             class="selectText"><option value="1" selected>优惠规则a</option>
43                                 <option value="2">优惠规则b</option></select>
44                         </th>
45                         <th width="11%">体验产品数:</th>
46                         <td width="11%"><select name="mySel" size="1"
47                             class="selectText"><option value="1" selected>绑定产品a</option>
48                                 <option value="2">绑定产品b</option></select>
49                         </th>
50                         <th width="6%">卡类型:</th>
51                         <td width="8%"><select name="mySel" size="1"
52                             class="selectText"><option value="1" selected>新增</option>
53                                 <option value="2">激活</option></select></td>
54                         <th width="11%" rowspan="2" style="text-align: left"><input
55                             type="submit" value="生成" class="searchStyle" onClick="open2();" /></th>
56                     </tr>
57                     <tr>
58                         <th width="7%">起始时间:</th>
59                         <td width="11%"><input id="d421" class="Wdate" type="text"
60                             onfocus="WdatePicker({skin:‘whyGreen‘,maxDate:‘%y-%M-%d‘});"
61                             value="2010-3-30" /></td>
62                         <th width="9%">终止时间:</th>
63                         <td width="11%"><input id="d421" class="Wdate" type="text"
64                             onfocus="WdatePicker({skin:‘whyGreen‘,maxDate:‘%y-%M-%d‘});"
65                             value="2010-6-30" />
66                         </th>
67                         <th width="9%">卡数量:</th>
68                         <td colspan="3"><input name="UserName" size="11"
69                             class="inputText" onfocus="this.className=‘inputClick‘" /></td>
70                     </tr>
71                 </tbody>
72             </table>
73         </form>
74         <table style="display: none" cellpadding="0" id="flexgrid">
75         </table>
76     </div>
77 </body>
78 </html>2.script页面

2.1flexgrid插件页面

  1 <script>
  2     $(function() {
  3         $("#flexgrid")
  4                 .flexigrid(
  5                         {
  6                             url : "${ctx}/business/findUsers.jsp",
  7                             dataType : "json",
  8                             colModel : [
  9                                     {
 10                                         display : "帐号",
 11                                         name : "username",
 12                                         width : 90,
 13                                         sortable : true,//是否可排序的
 14                                         align : "center"
 15                                     },
 16                                     {
 17                                         display : "姓名",
 18                                         name : "realname",
 19                                         width : 90,
 20                                         sortable : true,
 21                                         align : "center"
 22                                     },
 23                                     {
 24                                         display : "积分",
 25                                         name : "score",
 26                                         minwidth : 90,
 27                                         sortable : true,
 28                                         align : "center"
 29                                     },
 30                                     {
 31                                         display : "年龄",
 32                                         name : "age",
 33                                         width : 90,
 34                                         sortable : true,
 35                                         align : "center"
 36                                     },
 37                                     {
 38                                         display : "出生年月",
 39                                         name : "birthday",
 40                                         minwidth : 120,
 41                                         sortable : true,
 42                                         align : "center"
 43                                     },
 44                                     {
 45                                         display : "操作",
 46                                         name : "username",
 47                                         minwidth : 120,
 48                                         sortable : true,
 49                                         align : "center",
 50                                         process : function(val, id) {
 51                                             var un = $(val).html();
 52                                             return val.innerHTML = "<a href=‘#‘ onclick=‘t_open1(\""
 53                                                     + un
 54                                                     + "\")‘>修改</a>&nbsp;&nbsp;<a href=‘#‘ onclick=‘layout(\""
 55                                                     + un + "\")‘>删除</a>";
 56                                         }
 57                                     } ],
 58                             sortname : "username",
 59                             sortorder : "desc",
 60                             striped : true, //是否显示斑纹效果
 61                             usepager : true,
 62                             idProperty : ‘id‘,//绑定主键ID,列格式化时用到。
 63                             nowrap : true, //是否不换行 若换行则后台接收数据后面多一个\n字符
 64                             nomsg : ‘无相关记录‘, //无结果的提示信息 在右下角显示
 65                             autoload : true, //自动加载,即第一次发起ajax请求
 66                             //title : "用户l",
 67                             pagestat : "显示记录从{from}到{to},总数 {total} 条",
 68                             useRp : true,
 69                             rp : 10,//每页默认显示的数据条数
 70                             rpOptions : [ 5, 10, 15, 20, 30, 40, 100 ],
 71                             resizable : false, //table是否可伸缩
 72                             procmsg : "加载中, 请稍等 ...",
 73                             showTableToggleBtn : true,
 74                             buttons : [ {
 75                                 name : "Add",
 76                                 bclass : "add",
 77                                 onpress : t_open
 78                             } ]
 79                         });
 80
 81         function addFormData() {
 82             var dt = $(‘#sform‘).serializeArray();
 83             $("#flexgrid").flexOptions({
 84                 params : dt
 85             });////重置表格的某些参数
 86             return true;
 87         }
 88
 89         $(‘#sform‘).submit(function() {
 90             var dt = $(‘#sform‘).serializeArray();
 91             $(‘#flexgrid‘).flexOptions({
 92                 params : dt,
 93                 newp : 1
 94             }).flexReload();
 95             return false;
 96         });
 97     });140 </script>

2.2jbox响应函数区

 1 <script>
 2 function t_open() {
 3         //content属性(共有五个值):html:、id:、get:、post:、iframe:,
 4         jBox.open("iframe:${ctx}/view/user/adduser.jsp", "添加用户", 500, 400, {
 5             buttons : {},
 6             closed : function() {
 7                 $("#flexgrid").flexReload();
 8             }
 9         });
10     }
11     function t_open1(username) {
12         //content属性(共有五个值):html:、id:、get:、post:、iframe:,
13         jBox.open("iframe:${ctx}/view/user/editor.jsp?username=" + username,
14                 "修改用户", 500, 400, {
15                     buttons : {},
16                     closed : function() {
17                         $("#flexgrid").flexReload();
18                     }
19                 });
20     }
21     function layout(username) {
22         var url = "${ctx}/business/doDelete.jsp?username="+username;
23         var submit = function(v, h, f) {
24             if (v == true) {
25                 $.post(url,function(data){
26                     window.parent.jBox.close();
27                 });
28             }
29         };
30
31         jBox.confirm("你确定要删除" + username + "用户么?", "提示", submit, {
32             id : ‘hahaha‘,
33             showScrolling : false,
34             buttons : {
35                 ‘确定‘ : true,
36                 ‘取消‘ : false
37             },
38         //刷新函数,实现页面数据刷新
39         closed : function() {
40             $("#flexgrid").flexReload();
41         }
42         });
43     }
44 </script>

3.json格式插入数据

 1 <%@ page  language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 2 <%@ page import="java.io.PrintWriter,com.ifly.ms.utils.PageBean,com.ifly.ms.beans.UserBean"%>
 3 <jsp:useBean id="ub" class="com.ifly.ms.beans.UserBean"></jsp:useBean>
 4
 5 <%
 6 //获取插件中page变量的值
 7 int count=Integer.parseInt(request.getParameter("page"));
 8 //获取插件中rp变量的值
 9 int count1=Integer.parseInt(request.getParameter("rp"));
10 PageBean<UserBean> pagebean=new PageBean<UserBean>();
11 pagebean.setPage(count);
12 pagebean.setRp(count1);
13 //pagebean获取List对象
14 pagebean=ub.queryRows(pagebean);
15 //设置输出格式
16 response.setContentType("application/json;charset=UTF-8");
17 response.setCharacterEncoding("UTF-8");
18 PrintWriter writer=response.getWriter();
19 //调用toString将对象转化为json
20 String json=pagebean.toString();
21 //将json写到插件里面
22 writer.write(json);
23 //System.out.println(json);
24 writer.flush();
25 %>

4.对象转化为json的toString方法

 public String toString(){
         return JSONObject.fromBean(this).toString();
  }注意,PageBean类中参数需要与flexgrid插件一致,故需要定义为以下几个变量

 1 package com.ifly.ms.utils;
 2
 3 import java.util.List;
 4
 5 import net.sf.json.JSONObject;
 6
 7 /**
 8  * @desc: mySchedule_1107
 9  * @author: Administrator
10  * @createTime: 2013年11月7日 下午8:20:11
11  * @history:
12  * @version: v1.0
13  * @param <T>
14  */
15 public class PageBean<T> {
16     /**
17      * 总页数
18      */
19     private int rp;
20     /**
21      * @return the rp
22      */
23     public int getRp() {
24         return rp;
25     }
26     /**
27      * @param rp the rp to set
28      */
29     public void setRp(int rp) {
30         this.rp = rp;
31     }
32     /**
33      * 总页数
34      */
35     private int total;
36     /**
37      * 默认当前页
38      */
39     private int page;
40     /**
41      * 数据集合
42      */
43     private List<T> rows;
44     /**
45      * @return the total
46      */
47
48     public int getTotal() {
49         return total;
50     }
51     /**
52      * @param total the total to set
53      */
54     public void setTotal(int total) {
55         this.total = total;
56     }
57     /**
58      * @return the page
59      */
60     public int getPage() {
61         return page;
62     }
63     /**
64      * @param page the page to set
65      */
66     public void setPage(int page) {
67         this.page = page;
68     }
69
70     /**
71      * @return the rows
72      */
73     public List<T> getRows() {
74         return rows;
75     }
76     /**
77      * @param rows the rows to set
78      */
79     public void setRows(List<T> rows) {
80         this.rows = rows;
81     }
82     public String toString(){
83         return JSONObject.fromBean(this).toString();
84     }
85 }

需要json格式转换需要的jar包


时间: 2024-10-06 14:10:39

(转)json+flexgrid+jbox组合运用页面刷新<jsp>的相关文章

URL不变的情况下,最实用的vue刷新当前页面,provide / inject 组合 方式实现vue页面刷新

原文:https://blog.csdn.net/Dream_xun/article/details/83024487 其他参考:https://blog.csdn.net/liyunkun888/article/details/89022149   由于 router-view 是复用的,单纯的改变 id 的值并不会刷新 router-view 这是一种最实用的vue刷新当前页面,其他方式一般会出现一个瞬间的空白页面,体验不好,相当于按ctrl+F5 强制刷新那种方式:provide / in

页面刷新vuex数据消失问题解决方案

VBox持续进行中,哀家苦啊,有没有谁给个star. vuex是vue用于数据存储的,和redux充当同样的角色. 最近在VBox开发的时候遇到的问题,页面刷新或者关闭浏览器再次打开的时候数据归零.这是头疼的问题. 网上搜,大家的方案都是把数据转移到 localStorage或者其他持久化存储(例如indexDB). 这倒是可以,我在设计之初因为匆忙,没有考虑周全,这下好,然不成每个 mutation都去存一下. 这个弄的我很不开心,周六在公司,本来就困的要死,又想不到合理的解决方案,昏昏沉沉睡

页面刷新 整个页面刷新和局部刷新

整个页面刷新 1.页面自动刷新:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20;url=“#"> 其中20指隔20秒后跳转到#页面 3.页面自动刷新

页面刷新vuex数据消失问题解决方案 之 vuex中间件

之前我写了一篇用ES6 Proxy方案解决数据同步的文章 页面刷新vuex数据消失问题解决方案. 今天和同事沟通这个vuex数据还原问题,我说我的方法很奇异.聊着聊着,同事咋不用  store.subscribe , 当时还有点觉得不可能,仔细再去看vuex官方文档. 这个还真的是可行,但当然也是存在不方便的地方的. 此方案现在已经应用我基于vue开发的音乐web app VBOX 上,欢迎大家给star. 基本方案和步骤如下 1. 简单的按照键复制对象 2. localStorage存储的封装

【Jquery】jquery刷新页面(局部及全页面刷新)

局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法,$.post方法,$.getJson方法,$.ajax方法如下 前两种使用方法基本上一样 $.get("Default.php", {id:"1″, page: "2″ },function(data){//这里是回调方法.返回data数据.这里想怎么处理就怎么处理了.}); $.getScript方法: $.getScript("http://jqueryajax.com/jquery.

获取验证码倒计时优化 页面刷新实时倒计时

现在很多页面是需要获取验证码的,但是相信很多页面是没有做这样的优化的,比如下面这个场景: 现在访问一个注册页面,页面有一个填写手机号,获取验证码的按钮,点击获取验证码按钮之后,按钮变成灰色,然后是60倒计时效果.在60S内我无法再次点击获取验证码按钮.因为按钮是灰色的,不可点击状态. 但是,如果在倒计时任然进行时我刷新一下页面,一般的页面就会全部刷新,包括倒计时效果也没有了,按钮恢复到这最初可点击状态,这其实是不符合逻辑的.按正常逻辑是,页面任然倒计时,如果我刷新页面,倒计时任然存在,并且按钮不

[转]jquery刷新页面(局部及全页面刷新)

局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法,$.post方法,$.getJson方法,$.ajax方法如下 前两种使用方法基本上一样 $.get("Default.php", {id:"1″, page: "2″ }, function(data){ //这里是回调方法.返回data数据.这里想怎么处理就怎么处理了. }); $.getScript方法: $.getScript("http://jqueryajax.com/jque

Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局账号注册+验证码+页面刷新保留信息

1 # gbacc_urls.py 2 # --------38PerfectCRM实现全局账号登录注销-------- 3 from django.conf.urls import url 4 from gbacc import gbacc_views 5 urlpatterns = [ 6 url(r'^gbacc_login/', gbacc_views.gbacc_login, name='gbacc_login'), # 全局登录 7 # LOGIN_URL = '/gbacc/gba

vue:vue页面刷新vuex数据消失问题

vuex中数据刷新页面消失问题:a页面请求的数据保存在vuex中,只要不刷新,那跳转到b页面里也可以用,但如果b页面刷新,那vuex里的数据就会消失,可以得解决方法:a页面用的数据a页面的生命周期函数里请求,b页面用的数据b页面的生命周期函数里请求 你需要知道JavaScript代码是运行在内存中的,代码运行时的所有变量,函数,也都是保存在内存中的.刷新页面,以前申请的内存被释放,重新加载脚本代码,变量重新赋值,所以这些数据要想储存就必须储存在外部,例如:Local Storage, Sessi