天涯若比邻
遨游世界
jsp标签
刚刚结束了一个项目,有点时间,所以先补充补充自己的知识,昨天学了一下Jsp标签,感觉挺好的,可以使jsp页面干净不少,维护起来更方便了。
下边就开始进入正题:
首先创建一个Pagination.tld文件,标签文件:
<?xml version="1.0" encoding="UTF-8"?>
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>Pagination</shortname>
<tag>
<name>Pagination</name>
<tagclass>tags.Pagination</tagclass>
<attribute>
<name>allpage</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>currentpage</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>action</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>allcount</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
tlibversion: 标签库版本
jspversion: 标签库依赖的jsp版本
shortname: 标签库名
tag 开始一个标签
name 标签名
tagclass 指定标签处理程序类
attribute 开始一个标签属性,可用于传入参数
name 属性名
required和rtexprvalue都是属性的设置,均有2个属性ture和false用来决定是否必须指定
接下来创建该标签的处理程序类Pagination.java:
package tags;
import java.util.*;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class Pagination extends TagSupport {
private String allpage; //总页数
private String currentpage; //当前页数
private String action; //form请求地址
private String allcount; //总记录数
public int doStartTag() throws JspException {
try {
StringBuffer cont = new StringBuffer();
String context = "<form action='"+action+"'>" +
"<table><tr><td colspan='7' align='right'>" +
"<a>总页数:"+allpage+"</a> " +
"<a>总记录数:"+allcount+"</a> ";
if(Integer.valueOf(currentpage)>2){
context = context + "<a href='"+action+"?num=1'>第一
页</a> ";
}
if(Integer.valueOf(currentpage)>1){
context = context + "<a href='"+action+"?num="+
(Integer.valueOf(currentpage)-1)+"'>前一页</a> ";
}
context = context + "<a >当前
页:"+currentpage+"</a> ";
if(Integer.valueOf(currentpage)<Integer.valueOf(allpage)){
context = context + "<a href='"+action+"?num="+
(Integer.valueOf(currentpage)+1)+"'>下一页</a> ";
}
if(Integer.valueOf(currentpage)<(Integer.valueOf(allpage)-
1)){
context = context + "<a href='"+action+"?
num="+allpage+"'>最后一页</a> ";
}
context = context + "</td><td align='center' width='15%'>" +
"<input type='text'
size='1' name='num' id='pagenum' value='' />" +
"<input
type='submit' value='GO' id='gobutton'></td></tr></table>";
pageContext.getOut().print(context);
}catch(Exception e) {
throw new JspException("SimpleTag:"+e.getMessage());
}
return EVAL_BODY_INCLUDE;
}
public int doEndTag() {
return EVAL_PAGE;
}
public void setAllpage(String allpage) {
this.allpage = allpage;
}
public void setCurrentpage(String currentpage) {
this.currentpage = currentpage;
}
public void setAction(String action) {
this.action = action;
}
public void setAllcount(String allcount) {
this.allcount = allcount;
}
}
最后是要显示的Jsp页index.jsp:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/WEB-INF/tags/Pagination.tld" prefix="Pagination" %>
<html>
<head>
<script type="text/javascript" src="js/Time.js"></script>
</head>
<body>
<Pagination:Pagination allcount="20" action="servlet" currentpage="1" allpage="200"></Pagination:Pagination>
</body>
</html>
posted on 2007-10-30 14:34
dripstone
阅读(317)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © dripstone
<
2007年10月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 16
文章 - 0
评论 - 1
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(1)
java2学习(1)
(rss)
js
(rss)
随笔档案
(16)
2008年4月 (13)
2008年3月 (1)
2007年11月 (1)
2007年10月 (1)
友情链接
meu
搜索
最新评论
1. re: (转载)spring jar包详细介绍
<marguee>受教了</marguee>
--h.qing
阅读排行榜
1. (转载)spring jar包详细介绍(2761)
2. 用Java scirpt编写Fibonacci数(379)
3. jsp标签(317)
4. java2从头开学(12)(212)
5. java2从头开学(1)(196)
评论排行榜
1. (转载)spring jar包详细介绍(1)
2. jsp标签(0)
3. java2从头开学(13)(0)
4. java2从头开学(12)(0)
5. java2从头开学(11)(0)