问题提出:
点击查看:
实现方式
1、保存查询列表到隐藏域中,定义js数组,判断开始和结束,js代码如下:
<input type="button" οnclick="down()" value="下一个"/>
<input type="button" οnclick="up()" value="上一个"/>
var globle_stuList=[1,2,3];
var globle_curNum=0;
function down(){
globle_curNum +=1;
if(globle_curNum >= globle_stuList.length){
alert("最后一个了");
globle_curNum -=1;
}else{
alert(globle_stuList[globle_curNum]);
}
SysstudentinfoAction com.yineng.sysstudentinfo.action
}
function up(){
globle_curNum -=1;
if(globle_curNum <0){
alert("上面没有一个了");
globle_curNum +=1;
}else{
alert(globle_stuList[globle_curNum]);
}
}
分析:
1、安全性不佳,页面会看到对应的id。2、如果条数太多,页面数据量大。3 、容易实现不需要多次去查询数据库。
2、保存查询条件到隐藏域中,每次根据条件去查对应的条数。注意要传当前条数位置(不分页的)和总条数。
分析:需要先查询数据库获得对应位置的值,再查询该值对应的信息。
<input id="stu_top" value="${stu_top}" type="hidden"/>
<input id="stu_down" value="${stu_down}" type="hidden"/>
<input id="tabIndex" value="${tabIndex}" type="hidden"/>
<input id="total" value="${total}" type="hidden"/>
<input id="curIndex" value="${curIndex}" type="hidden"/>
var curIndex=$("#curIndex").val();
if(curIndex ==null || curIndex == undefined){
curIndex="";
}else{
curIndex = $.trim(curIndex);
}
if(state == 1){
if(curIndex == total){
$.ligerDialog.alert('已经是最后一条记录!', '提示','warn');
return ;
}else{
curIndex =parseInt(curIndex) + parseInt(1);
}
}
if(state == -1){
if(curIndex == 1){
$.ligerDialog.alert('已经是第一条记录!', '提示','warn');
return ;
}else{
curIndex -= 1;
}
}
stuNumOrName=encodeURI(encodeURI(stuNumOrName));
window.open(contextPath+"/studentinfo/sysstudentinfo!forwardStudentInfoMsgGrid.action?userId="+globle_stuteaId
+"&tabIndex="+tabIndex+"&orgmanId="+org_manager+"&orgClassId="+orgclass_id
+"&stuNumOrName="+stuNumOrName
+"&verifyState="+verify_state
+"&queryType="+queryType
+"&curIndex="+curIndex+"&total="+total
+"&areaId="+area_id
+"&stuNumOrNameType="+stuNumOrNameType
+"&state="+state
);
window.close();
3、保存第一种情况的值到session中。
分析:一般系统session中存放用户信息、权限信息、计数器等等需要用户从登陆到退出全程有效的信息。不能任何数据都往session中存储,在session有效的期间内会很耗资源,并且容易出现数据查询上的错误,建议分清哪些应该放在session中,哪些用request。
4、保存查询的sql到页面,采用一种加密方式进行加密。
在action-service-dao 之间尽量用map传递参数,特殊情况可以把request放入map,在dao中取出来往request放入参数,最后在页面获取。