tag开发实例源代码

tag开发实例源代码

已经测试过


参考:

http://java.sun.com/products/jsp/tutorial/TagLibrariesTOC.html



/**
* 2009-5-6
* zhenjw
*/
package zhenjw;

import java.io.IOException;

import javax.servlet.jsp.JspException;

//tag 关键是要继承这个类
import javax.servlet.jsp.tagext.TagSupport;

/**
* @author zhenjw
*
*/
public class TurnPageTag extends TagSupport {

private int totalRow;
private int pageSize;
private int pageNo;
private String onclick;

private String FirstPage="首页";
private String PrePage="上一页";
private String NextPage="下一页";
private String LastPage="尾页";
/**
* @return the onclick
*/
public String getOnclick() {
return onclick;
}
/**
* @param onclick the onclick to set
*/
public void setOnclick(String onclick) {
this.onclick = onclick;
}
/**
* @return the pageNo
*/
public int getPageNo() {
return pageNo;
}
/**
* @param pageNo the pageNo to set
*/
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
/**
* @return the pageSize
*/
public int getPageSize() {
return pageSize;
}
/**
* @param pageSize the pageSize to set
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @return the totalRow
*/
public int getTotalRow() {
return totalRow;
}
/**
* @param totalRow the totalRow to set
*/
public void setTotalRow(int totalRow) {
this.totalRow = totalRow;
}
/* (non-Javadoc)
* @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
*/
public int doStartTag() throws JspException {
// TODO Auto-generated method stub

StringBuilder strB=new StringBuilder();

//首页 上一页
if(pageNo>1)

strB.append("<a href='#' onclick='").append(onclick).append("(1);return false;'>").append(this.FirstPage).append("</a>").append("    ")

.append("<a href='#' onclick='").append(onclick).append("(").append(pageNo-1).append(");return false;'>").append(this.PrePage).append("</a>");

else
strB.append(this.FirstPage).append("    ").append(this.PrePage);

strB.append("    ");


//

int totalPage=this.getTotalPage();

//下一页 尾页
if(pageNo<totalPage)

strB.append("<a href='#' onclick='").append(onclick).append("(").append(pageNo+1).append(");return false;'>")
.append(this.NextPage).append("</a>")
.append("    ")
.append("<a href='#' onclick='").append(onclick).append("(").append(totalPage).append(");return false;'>")
.append(this.LastPage).append("</a>");

else

strB.append(this.NextPage)
.append("    ")
.append(this.LastPage);

strB.append("    ");

try {

this.pageContext.getOut().write(strB.toString());

} catch (IOException e) {
// TODO Auto-generated catch block

e.printStackTrace();

throw new JspException(e);

}

return super.doStartTag();
}

private int getTotalPage()
{
return (this.totalRow+this.pageSize-1)/this.pageSize;

}




}





JSP文件
<%@ taglib uri="/tlt" prefix="tlt" %>

web.xml文件

<servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/example/*</url-pattern>
</servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<servlet-class>Dispatcher</servlet-class>
</servlet>
<taglib>
<taglib-uri>/tlt</taglib-uri>
<taglib-location>/WEB-INF/taglib.tld</taglib-location>
</taglib>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值