📄 resultheadertag.java
字号:
package cn.com.syntc.common.taglib;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import cn.com.syntc.common.io.Parameters;
import cn.com.syntc.common.type.ResultSet;
public class ResultHeaderTag extends TagSupport {
public ResultSet resultset = null;
private String resultName = "";
private int counter = 0; // 计数器
private int currentPage = 1;//页面数从1开始
private int countOfPage = 0;
private int pagesCount = 0;
private int totalCount = 0;
public void setResultName(String resultName) {
this.resultName = resultName ;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public void setCountOfPage(int countOfPage) {
this.countOfPage = countOfPage;;
}
public ResultHeaderTag () {
resultName = null;
}
public int doStartTag() {
int returnType = SKIP_BODY;
try {
HttpSession session = pageContext.getSession();
HttpServletResponse response = (HttpServletResponse)pageContext.getResponse();
Parameters parameters = (Parameters)session.getAttribute("outparam");
if(parameters != null)
{
String curPage = (String)parameters.getParameters("request", "currentPage");
if(curPage==null || curPage.equals(""))
{
currentPage = 1;
}
else
{
currentPage = Integer.parseInt(curPage);
}
resultset = (ResultSet)parameters.getParameters("results", resultName);
if(resultset != null){
if(resultset.size()>0)
{
resultset.rewind();
for(int i=0; i<(currentPage - 1)*countOfPage+1; i++)
{
resultset.next(); // 第一条记录或者该页的第一条记录
}
counter = 1;
returnType = EVAL_BODY_INCLUDE;
}
}
}
}
catch(Exception e) {
System.out.println("error=:"+e.getMessage());
}
return returnType;
}
public int doAfterBody () {
int returnType = SKIP_BODY;
try {
if(!resultset.isLast() && counter<countOfPage)
{
resultset.next(); // 下一条记录
counter += 1;
returnType = EVAL_BODY_AGAIN;//还有未输出,重新对其body content计值
}
else{
returnType = SKIP_BODY;// 输出完毕则继续往下执行
}
} catch (Exception e) {
System.out.println("error1:"+e.getMessage());
}
return returnType;
}
public int doEndTag () {
try {
resultset = null;
} catch (Exception e) {
System.out.println("error2:"+e.getMessage());
}
return EVAL_PAGE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -