flexigrid案例Word文档下载推荐.docx
《flexigrid案例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《flexigrid案例Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
},
密码管理'
userPwd'
真实姓名'
userRealName'
权限'
userPower'
true,hide:
true,align:
当前状态'
userState'
创建时间'
userCreateTime'
160,sortable:
}
],
buttons:
[//表格上面的按钮
{name:
add'
displayname:
新增'
bclass:
onpress:
toolbarItem},
{separator:
true},
{name:
modify'
修改'
onpress:
{separator:
delete'
删除'
toolbarItem}
searchitems:
[//查询条件
{display:
isdefault:
true},
}
errormsg:
发生异常'
//发生异常时提示信息
sortname:
"
userId"
//默认排序字段名称
sortorder:
desc"
//升序还是降序
usepager:
true,
title:
后台用户管理'
//标题信息
pagestat:
显示记录从{from}到{to},总数{total}条'
//分页显示信息
useRp:
rp:
10,//默认分页条数
rpOptions:
[10,20,50],//可选择设定的每页结果数
nomsg:
没有符合条件的记录存在'
minColToggle:
1,//允许显示的最小列数
showTableToggleBtn:
autoload:
true,//自动加载,即第一次发起ajax请求
resizable:
false,//table是否可伸缩
procmsg:
加载中,请稍等...'
hideOnSubmit:
true,//是否在回调时显示遮盖
blockOpacity:
0.5,//透明度设置
showcheckbox:
true,//是否显示第一列的checkbox(用于全选)
gridClass:
bbit-grid"
//样式
});
//按钮操作函数
functiontoolbarItem(com,grid){
//删除记录
if(com=='
){
if($('
.trSelected'
grid).length==0){
hiAlert("
请选择要删除的数据!
"
);
}else{
hiConfirm('
是否删除这'
+$('
grid).length+'
条记录吗?
'
'
操作提示'
function(r){
if(r){
varids="
;
$('
.trSelectedtd:
nth-child
(2)'
grid).each(function(){
ids+="
"
+$(this).text();
});
ids=ids.substring
(1);
$.ajax({
type:
POST"
url:
admin/UserManagerServlet?
action=delete"
data:
ids="
+ids,
dataType:
text"
success:
function(msg){
if(msg=="
success"
hiAlert("
操作成功!
$("
).flexReload();
}else{
有错误发生,msg="
+msg);
}
},
error:
hiAlert("
msg="
}
});
}
}
//增加记录
}elseif(com=='
varreturnValue=window.showModalDialog('
user_add.jsp'
'
title'
=yes;
resizable=no;
help=no;
status=no;
dialogHeight=600px;
dialogWidth=530px'
if(returnValue=="
ok"
#JUserTable'
//更改记录
if($("
.trSelected"
grid).length==1){
varid=$('
grid).text();
varreturnValue=window.showModalDialog('
user_add.jsp?
action=update&
UId='
+id,'
if(returnValue=="
$('
}
}elseif($("
grid).length>
1){
请选择一个修改,不能同时修改多个记录!
请选择一个您要修改的记录!
)
}
}
);
//用户密码初始化
functioninit_pwd(userId){
hiConfirm('
你确定对该用户密码初始化?
if(r){
$.ajax({
type:
url:
action=initPwd"
data:
userId="
+userId,
dataType:
success:
if(msg=="
hiAlert("
$("
}else{
},
error:
hiAlert("
});
});
}
//用户状态更改
functionchange_state(userId){
你确定更改该用户的状态?
action=changeState"
<
/script>
tableid="
JUserTable"
style="
display:
none"
/table>
在此示例代码中,有一下几点说明:
第一:
使用了第三方提示信息插件,HiAlert。
如无此插件,可用js默认的alert代替。
第二:
json的数据格式(后台处理),与表格题头信息的关联。
如果没有显示数据的必要,只能隐藏,而不能不写。
第三:
数据加载方式为ajax异步调用。
2、后台处理:
在此后台业务处理采用servlet处理。
采用什么方式处理关系不大。
json格式的封装
packagecom.ks.util;
importjava.lang.reflect.Field;
importjava.lang.reflect.Method;
importjava.util.List;
/**
*
*@author孟令国
*@emailmenglingguo5210@
*@version1.0
*Flexigred插件对于json格式有特殊要求,所以,写了这个方法。
专门,生成特定格式的json
*/
publicclassFlexiGridJsonUtil{
/**
*@parampage当前页数
*@paramtotal记录总条数
*@paramlist符合要求的记录列表。
*@return返回符合Flexigred格式要求的json字符串。
*@throwsException
publicstaticStringgetJson(Stringpage,Stringtotal,List<
Object>
list)throwsException{
StringBuffersb=newStringBuffer();
sb.append("
{\"
total\"
:
+total+"
\"
page\"
\"
+page+"
rows\"
sb.append(list2Json(list));
}"
returnsb.toString();
*@paramlist对象列表。
*@return
privatestaticStringlist2Json(List<
StringBuffersb=newStringBuffer("
["
for(inti=0;
i<
list.size();
i++){
sb.append(obj2Json(list.get(i))+"
sb.delete(sb.length()-1,sb.length());
]"
*@paramo对象,只支持基本类型和String,自定类型请勿使用。
privatestaticStringobj2Json(Objecto)throwsException{
Object[]obj=getObjectValue(o);
{"
id\"
+obj[0]+"
cell\"
obj.length;
if(obj[i]instanceofString){
sb.append("
+obj[i]+"
}elseif(obj[i]instanceofCharacter){
]}"
privatestaticObject[]getObjectValue(Objecto)throwsException{
Class<
?
extendsObject>
c=o.getClass();
Field[]f=c.getDeclaredFields();
Object[]value=newObject[f.length];
f.length;
value[i]=getMethodValue(o,f[i].getName());
returnvalue;
privatestaticObjectgetMethodValue(Objectowner,StringmethodName)
throwsException{
ownerClass=owner.getClass();
methodName=methodName.substring(0,1).toUpperCase()
+methodName.substring
(1);
Methodmethod=null;
try{
method=ownerClass.getMethod("
get"
+methodName);
}catch(SecurityExceptione){
}catch(NoSuchMethodExceptione){
return"
can'
tfind'
+methodName+"
method"
returnmethod.invoke(owner);
业务逻辑servlet
packagecom.ks.servlet.admin;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.ks.dao.KsWebUserDAO;
importcom.ks.util.DateUtil;
importcom.ks.util.FlexiGridJsonUtil;
importcom.ks.util.LogUtil;
importcom.ks.util.OperateUtil;
importcom.ks.util.StringUtil;
importcom.ks.vo.KsWebUser;
importcom.ks.vo.UserBean;
importcom.ks.vo.json.UserJsonBean;
publicclassUserManagerServletextendsHttpServlet{
privatestaticfinallongserialVersionUID=-4899691758229960625L;
privatePrintWriterout;
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
response.setContentType("
text/html"
response.setCharacterEncoding("
utf-8"
response.setHeader("
Pragma"
"
no-cache"
Cache-Control"
no-cache,must-revalidate"
this.out=response.getWriter();
Stringaction=request.getParameter("
action"
if(action==null||action.equals("
)){
action="
list"
if(action.equals("
list(request,response);
}elseif(action.equals("
add"
add(request,response);
delete"
delete(request,response);
update"
update(request,response);
initPwd"
initPwd(request,response);
changeState"
changeState(request,response);
isUserExite"
isUserExite(request,response);
privatevoidisUserExite(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
StringuserName=request.getParameter("
userName"
System.out.println(userName);
KsWebUserDAOkwudao=newKsWebUserDAO();
intcount=kwudao.findByHqlCount("
from