package com.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class PageTag extends TagSupport{
//定义分页属性
private int pageNo=1;
private int pageSize;
private int count;
private String var;
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getVar() {
return var;
}
public void setVar(String var) {
this.var = var;
}
private String outt;
@Override
public int doStartTag() throws JspException {
Object obj=pageContext.getAttribute("pageNo",pageContext.REQUEST_SCOPE);
if(obj!=null){
pageNo=(Integer)obj;
}
outt="共"+count+"条数据,当前"+pageNo+"/"+(count%pageSize==0?(count/pageSize):(count/pageSize+1))+"页";
//得到数据
if(pageSize-->0){
pageContext.setAttribute(var, "这是第一条数据<br/>");
return super.EVAL_BODY_INCLUDE;
}else{
return super.SKIP_BODY;
}
}
@Override
public int doAfterBody() throws JspException {
if(pageSize==0){
try {
//得到输出流
JspWriter out=pageContext.getOut();
out.print(outt);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
if(pageSize-->0){
pageContext.setAttribute(var, "这是循环数据<br/>");
System.out.println(pageSize);
return super.EVAL_BODY_AGAIN;
}else{
return super.SKIP_BODY;
}
}
@Override
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
return super.doEndTag();
}
}