还可以进一步
提取出Page的接口并且根据此接口封装个标签这样前台使用更简单了
提取出Page的接口并且根据此接口封装个标签这样前台使用更简单了
解决方案 »
- 在fckeditor中显示中文乱码问题
- 我急需解决
- jsp如何实现在线的mysql数据库的备份???(在线等................)
- 关于 Apache + Tomcat 整合原理的疑惑
- 几款主流JAVA报表工具比较欢迎补充
- 一个很简单的配置问题
- ajax 获得的result字符串中总是有18个空格,不知道为什么
- 为什么读取applicationContext.xml文件时报错
- 求一个日期往后滚的函数或实现方法
- 用.Net做服务端的web service有哪些参数和返回值类型??支持javabean吗
- 关于Tomcat的数据库连接管理的奇怪问题
- websphere 和tomcat 问题?
{
StringBuffer sb = new StringBuffer();
if (this.getHasUp())
{
sb.append("<a href="+this.getRequestURIindex()+"?page="+this.getOnePage()+"&"+this.getUrl(this.request)+">首页</a> ");
sb.append("<a href="+this.getRequestURIindex()+"?page="+this.getUpPage()+"&"+this.getUrl(this.request)+">上一页</a> ");
}
else
sb.append("首页 上一页 ");
if (this.getHasNext())
{
sb.append("<a href="+this.getRequestURIindex()+"?page="+this.getNextPage()+"&"+this.getUrl(this.request)+">下一页</a> ");
sb.append("<a href="+this.getRequestURIindex()+"?page="+this.getTPage()+"&"+this.getUrl(this.request)+">尾页</a> ");
}
else
sb.append("下一页 尾页");
return sb.toString();
}
private String listPage()
{
StringBuffer sb = new StringBuffer();
sb.append("<SELECT name=page>");
for (int i=1;i<=Integer.parseInt(this.getTPage());i++)
{
if (Integer.parseInt(this.getCurPage()) == i)
sb.append("<OPTION value="+i+" selected>");
else
sb.append("<OPTION value="+i+">");
sb.append(i)
.append("</OPTION>");
}
sb.append("</SELECT>");
sb.append("<input name=tj type=submit value=go>");
return sb.toString();
}
//产生[1][2][3][4]的分页效果
private String showPage()
{
int m = 0;
StringBuffer sb = new StringBuffer();
int totalPage = Integer.parseInt(this.getTPage());
int p = (Integer.parseInt(this.getCurPage())-1)/this.getSize();
if (totalPage <= this.getSize())
{
for (int i=1;i<=totalPage;i++)
{
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+i+"&"+this.getUrl(this.request)+">"+i+"</a> ]");
sb.append(" ");
}
}
else
{
if ((p*this.getSize())>0)
{
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+(Integer.parseInt(this.getCurPage())-1)+"&"+this.getUrl(this.request)+"><</a> ]");
sb.append(" ");
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+(Integer.parseInt(this.getCurPage())-this.getSize())+"&"+this.getUrl(this.request)+"><<</a> ]");
sb.append(" ");
}
//System.out.println("mmmm="+(p*size+size));
//循环(1..5,6..10)
for (int k=(p*this.getSize()+1);k<=(p*this.getSize()+this.getSize());k++)
{
m = k;
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+k+"&"+this.getUrl(this.request)+">"+k+"</a> ]");
sb.append(" ");
if (k == totalPage)
break;
}
//如果页数小于总页数,则表示还有下页]
//System.out.println("mmmm="+m);
if (m < totalPage)
{
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+(m+1)+"&"+this.getUrl(this.request)+">>></a> ]");
sb.append(" ");
sb.append("[ <a href="+this.getRequestURIindex()+"?page="+(Integer.parseInt(this.getCurPage())+1)+"&"+this.getUrl(this.request)+">></a> ]");
}
}
return sb.toString();
}
//得到连接后面的参数
private String getUrl(HttpServletRequest request) {
String url = "";
Enumeration param = request.getParameterNames(); while (param.hasMoreElements()) {
String pname = param.nextElement().toString();
//equalsIgnoreCase忽律大小写
if (!pname.equalsIgnoreCase("page") && !pname.equalsIgnoreCase("tj"))
url += pname + "=" + request.getParameter(pname) + "&"; }
if (url.endsWith("&")) {
url = url.substring(0, url.lastIndexOf("&"));
}
return url;
}
//得到隐含表单的参数,自动生成<input type='hidden'>
private String getHiddenParam()
{
StringBuffer sb = new StringBuffer();
String strUrl = this.getUrl(request);
if ((strUrl != null) || (strUrl.equals("")))
{
//表示只有一个参数
if (strUrl.indexOf("&") < 0)
{
//System.out.println("strUlr"+strUrl.indexOf("="));
sb.append("<input type=hidden name="+strUrl.substring(0,strUrl.indexOf("="))+" value="+strUrl.substring(strUrl.indexOf("=")+1)+">");
}
else
{
//多个参数,因为strurl得到参数中有一个page为隐含参数,所以要-1的算法
//System.out.println("paraUrl====>"+strUrl.split("&").length);
String[] strArray = new String[strUrl.split("&").length-1];
strArray = strUrl.split("&");
//System.out.println("paraUrl====>>"+strArray.length);
//循环累加参数
for (int i=0;i<=strArray.length-1;i++)
{
String paramName = strArray[i];
//System.out.println("paraUrl====>>>"+paramName);
sb.append("<input type=hidden name="+paramName.substring(0,paramName.indexOf("="))+" value="+paramName.substring(paramName.indexOf("=")+1)+">\n");
}
}
//System.out.println("paraUrl===="+sb.toString());
}
return sb.toString();
}
http://community.csdn.net/Expert/TopicView3.asp?id=5044512