//下面这段处理主要是用来处理动态查询的参数,并拼接成url
StringBuffer perUrl=new StringBuffer("");
if ( this.getParameters().size() != 0 ) {
Iterator iter = this.getParameters().keySet().iterator();
while (iter.hasNext()) {
String key = (String) iter.next();
Object o = this.getParameters().get(key);
perUrl.append("&").append(key).append("=").append(o);
}
}
Integer cpageInt = Integer.valueOf(pageNo);
str.append("<span ");
if (styleClass != null) {
str.append(" class='"+styleClass+"'>");
} else {
str.append(">");
}
//文本样式
if (theme == null || "text".equals(theme)) {
//当前页与总页数相等
if (pageNo.equals(total)) {
//如果total = 1,则无需分页,显示“[第1页] [共1页]”
if ("1".equals(total)) {
str.append("[第 " + pageNo + " 页]");
str.append(" [共 " + total + " 页]");
} else {
//到达最后一页,显示“[首页] [上一页] [末页]”
str.append("<a href='"+url+pageNoStr+"1"+perUrl+"'>[首页]</a> ");
str.append("<a href='"+url+pageNoStr + (cpageInt - 1)+perUrl+"'>[上一页]</a>" );
str.append(" <a href='"+url+pageNoStr + total+perUrl+"'>[末页]</a> ");
}
} else {
//当前页与总页数不相同
if ("1".equals(pageNo)) {
//第一页,显示“[首页] [下一页] [末页]”
str.append("<a href='"+url+pageNoStr+"1"+perUrl+"'>[首页]</a>");
str.append("<a href='"+url+pageNoStr + (cpageInt + 1) +perUrl+"'>[下一页]</a>");
str.append("<a href='"+url+pageNoStr + total +perUrl+"'>[末页]</a>");
} else {
//不是第一页,显示“[首页] [上一页] [下一页] [末页]”
str.append("<a href='"+url+pageNoStr+"1"+perUrl+"'>[首页]</a>");
str.append("<a href='"+url+pageNoStr + (cpageInt - 1)+perUrl+"'>[上一页]</a>");
str.append("<a href='"+url+pageNoStr + (cpageInt + 1)+perUrl+"'>[下一页]</a>");
str.append("<a href='"+url+pageNoStr + total +perUrl+"'>[末页]</a>");
}
}
} else if ("number".equals(theme)) { //数字样式 [1 2 3 4 5 6 7 8 9 10 > >>]
Integer totalInt = Integer.valueOf(total