pagedselection.java
来自「这是一个工作流管理的后端EJB实现」· Java 代码 · 共 215 行
JAVA
215 行
/*
* Created on May 13, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.coshare.joyteam.projectMgr.webbeans;
import javax.servlet.http.HttpServletResponse;
/**
* @author Edward
*
*
* 对表单进行分页显示的Bean
*/
abstract public class PagedSelection {
/**
* 用于处理分页显示的类
*/
PageNumber pageNumber=null;
/**
* 表格的css样式
*/
String css;
/**
* 显示[上一页][下一页]等链接的table的css
*/
String linkcss;
/**
* 每页显示的记录条数
*/
int nline=6;
/**
* 设置每页的记录条数
* @param n
*/
public void setNline(int n){
this.nline = n;
}
/**
* 获得每页的记录条数
* @return
*/
public int getNline(){
return this.nline;
}
/**
* 设置显示表格的css
* @param css
*/
public void setCss(String css){
this.css = css;
}
/**
* 活动显示表格额css
* @return
*/
public String getCss(){
return this.css;
}
public PagedSelection(){
}
/**
* 获得显示[上一页][下一页]等链接的table的css
* @return <code>String</code> 返回显示[上一页][下一页]等链接的table的css
*/
public String getLinkcss(){
return this.linkcss;
}
/**
* 设置显示[上一页][下一页]等链接的table的css
* @param <code>String</code> linkcss 显示[上一页][下一页]等链接的table的css
*/
public void setLinkcss(String linkcss){
this.linkcss = linkcss;
}
/**
* 遍历结果集,并把结果集组织成html表格的形式
* @return <code>String</code> html表格形式表示的结果集
*/
private String showList(){
StringBuffer tableStr=new StringBuffer();
tableStr.append("<Table class=\""+this.css+"\" ><TBODY>");
this.organizeTable(tableStr);
tableStr.append("</TBODY></Table>");
return tableStr.toString();
}
/**
* 将数据组织成html形式的表格
* @param tableStr <code>StringBuffer</code>
*/
abstract protected void organizeTable(StringBuffer tableStr );
/**
* 获得所需的结果集,为showNext(),showPrevious(),show()等查许做准备
*
*/
abstract public void prepareResultSet();
/**
* 返回下个页面的内容
* @return <code>String</code> 下个页面的html表格形式的结果集
*/
public String showNext(){
int n = pageNumber.getShowPage();
n=(n+1);
if(n>pageNumber.getPageCount())
n=pageNumber.getPageCount();
pageNumber.setShowPage(n);
return showList();
}
/**
* 显示上个页面的内容
*
* @return <code>String</code> 上个页面的html表格形式的结果集
*/
public String showPrevious(){
int n = pageNumber.getShowPage();
n=n-1;
if(n<=0)
n=1;
pageNumber.setShowPage(n);
return showList();
}
/**
* 显示第n个页面的内容
*
* @return <code>String</code> 第n个页面的html表格形式的结果集
*/
public String show(int n){
pageNumber.setShowPage(n);
return showList();
}
public String showPagedTable(String npage){
if(npage==null)
npage="1";
if(npage.equals("next")){
return this.showNext();
}else if( npage.equals("previous") ){
return this.showPrevious();
}else{
return this.show(Integer.parseInt(npage));
}
}
/**
* 获得显示[上一页][下一页]等链接的table,是以html形式组织的
* @param response <code>HttpServletResponse</code> servlet中默认的response对象
* @return <code>String</code> 显示[上一页][下一页]等链接的table
*/
public String showLinks( HttpServletResponse response,String thisPageName ){
StringBuffer buffer=new StringBuffer();
buffer.append("<Table class=\""+this.linkcss+"\" ><tr><td>");
buffer.append("共"+this.pageNumber.rowCount+"条 每页"+this.pageNumber.getPageSize()+"条 分"+
this.pageNumber.getPageCount()+"页 第"+this.pageNumber.getShowPage()+"页 ");
if( this.pageNumber.getShowPage()==1 )
buffer.append("[第一页] [上一页] ");
else{
String str1=response.encodeURL(thisPageName+"?npage=1");
buffer.append("<a href="+str1+">");
buffer.append("[第一页] ");
buffer.append("</a>");
String str2=response.encodeURL(thisPageName+"?npage=previous");
buffer.append("<a href="+str2+">");
buffer.append("[上一页] ");
buffer.append("</a>");
}
if( this.pageNumber.getShowPage()==this.pageNumber.getPageCount() )
buffer.append("[下一页] [最后页] ");
else{
String str1=response.encodeURL(thisPageName+"?npage=next");
buffer.append("<a href="+str1+">");
buffer.append("[下一页] ");
buffer.append("</a>");
String str2=response.encodeURL(thisPageName+"?npage="+this.pageNumber.getPageCount());
buffer.append("<a href="+str2+">");
buffer.append("[最后页] ");
buffer.append("</a>");
}
buffer.append("</td></tr></table>");
return buffer.toString();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?