jsp页面刷新只是改了页码和筛选条件而已:
1.第一次访问还是点击下一页时,肯定是request.getParameter获取所有需要的参数,比如当前页码,重要的筛选条件。
//如果是第一次访问,那么很多参数默认为空,那就作一点处理就可以了
String isall = request.getParameter("isall");
if (isall == null || isall.trim().length() <= 0) {
isall = "noall";
}
2.搜索内容时筛选条件在新页面留存:比如下拉框选择了重庆地区,那么下路框的重庆就会提交到新页面,通过request.getParameter得到这个值,在新页面展示下拉框时,如果输出的地区等于得到的参数,那么添加selected属性,新页面就能保存下拉框之前的选项了
<select id="rcBatch" name="rcBatch" style="width : 400px;">
<option value='-1'>全部</option>
<%
List rcBatchList = metaDao.getBusinessTypeList("RCBATCH"); //获取下拉框的所有数据内容
String rcBatch = prj.getRcBatch(); //上次页面提交的rcBatch数据
for (Iterator it1 = rcBatchList.iterator(); it1.hasNext();) {
OptionVO option = (OptionVO) it1.next();
if (option.getKey().equals(rcBatch)) { //rcBatch等于rcBatchList ,option标签默认selected。
out.println("<option value='" + option.getKey() +"' selected>" + option.getValue() + "</option>");
} else {
out.println("<option value='" + option.getKey() +"'>" + option.getValue() + "</option>");
}
}
%>
</select>
</td>
<%}
3.分页时,点击下一页就是当前页码-1传递给新页面,新页面第一件事就是获取页码,有了页码还不简单吗
点击最后一页就是传递最大页码给新页面。
//例子:页码:1/1页 记录:1~17/17条 首页 上一页 下一页 末页
<table width="99%" cellpadding="0" cellspacing="0" class="ReportTable" style="margin-top: 4px;"
align="center">
<tr class="Thead">
<td align="left" colspan="12"><script language="javascript">
var totalRows = <%=pageInfo.iTotalRow%>;
var rowsPerPage = <%=pageInfo.iPageCountUse%>;
var pageNo = <%=pageNo%>;
var totalPage = <%=pageInfo.iTotalPage%>;
var rows = <%=documentList.size()-1%>;
document.write(showPage(totalRows,rowsPerPage,pageNo,totalPage,rows,' 案卷列表'));
</script></td>
</tr>
</table>
function showPage(){
//参数0为记录总数,1为每页记录数pageSize,2为当前页pageNo, 3为总页数, 4为当前这页显示条数 ,5 为这个列表的主题
var args=showPage.arguments;
var argv=showPage.arguments.length;
var rscnt=args[0];
var rs_perpage=args[1];
var page=args[2];
var page_cnt=args[3];
var rows=args[4];
var title = args[5];
//var page_cnt=(rscnt%rs_perpage>0)?parseInt(rscnt/rs_perpage)+1:parseInt(rscnt/rs_perpage);
pageCount = page_cnt;
page=(page<=0)?1:page;
page=(page<=page_cnt)?page:page_cnt;
if(page == 0){
page = 1;
}
startRow = ((page-1) * rs_perpage ) + 1;
endRow = startRow + rows - 1;
var img_url="um/images/page_split";
var img_frist=img_url+"/icon_page_frist.gif";
var img_prevs=img_url+"/icon_page_prevs.gif";
var img_prev=img_url+"/icon_page_prev.gif";
var img_next=img_url+"/icon_page_next.gif";
var img_nexts=img_url+"/icon_page_nexts.gif";
var img_last=img_url+"/icon_page_last.gif";
var img_goto=img_url+"/btn_goto.gif";
var img_tip_content="um/images/public/ngtc_tipContent.gif";
var str_page="<table border=0 cellpadding=0 cellspacing=0 width='100%'><tr><td class='ngtcTipContent' nowrap>"+title+"</td><td width='600' align='right'><font color=\"#333333\">";
str_page+="页码:"+page+ "/" + page_cnt +"页 记录:"+ startRow + "~" + endRow + "/" + rscnt + "条 ";
str_page+=" ";
if(page>1)
str_page+="<span style=\"cursor:pointer;\" οnclick=\"goto_page(1);\">首页</span> ";
else
str_page+="<span style=\"color:#ccc;\">首页</span> ";
if(page>1)
str_page+="<span style=\"cursor:pointer;\" οnclick=\"goto_page("+(page-1)+");\">上一页</span> ";
else
str_page+="<span style=\"color:#ccc;\">上一页</span> ";
if(page<page_cnt)
str_page+="<span style=\"cursor:pointer;\" οnclick=\"goto_page(" + (page+1) +");\">下一页</span> ";
else
str_page+="<span style=\"color:#ccc;\">下一页</span> ";
if(page<page_cnt)
str_page+="<span style=\"cursor:pointer;\" οnclick=\"goto_page("+page_cnt+");\">末页</span> ";
else
str_page+="<span style=\"color:#ccc;\">末页</span> ";
//str_page+="| 到第<input type=hidden name=\"page\" id=\"page\" value=\""+page+"\">";
//str_page+=" <input type=\"text\" name=\"page_id\" id=\"page_id\" style=\"FILTER: Gray alpha(opacity=80);Height:15px;border:1px solid #333333;color: #666666;text-align: center;font-family:宋体,黑体;\" size=2 maxlength=4 οnkeydοwn=\"if(event.keyCode==13){chk_num(document.myform.page_id);}\" value=\""+page+"\"> 页</font>";
//str_page+=" <img src=\""+img_goto+"\" style=\"Cursor:hand;\" οnclick=\"chk_num(document.myform.page_id)\" align=absmiddle>";
str_page+="</td></tr></table>";
return str_page;
}