自定义JSP标签的应用实例
2011-12-07 17:55
239 查看
6.3.5 自定义JSP标签的应用实例(2)
例程6-13 转化大写标签的处理类ToUpperCase.java
例程6-14 标签库描述文件mytaglib.tld
例程6-15 使用自定义标签的JSP页面index.jsp
运行效果如图6-5所示。
6.4 JSTL标签库
JSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作及数据库访问等。
这些标记库实现了大量服务器端 Java 应用程序常用的基本功能,大大提高了Web应用程序的开发效率,同时也提高了Web应用程序的可阅读性和可维护性。
目前最新的JSTL版本为1.1,必须在支持Servlet2.4/JSP2.0的容器(如:Tomcat5.x)中才能运行,读者只要将JSTL的jstl.jar和standard.jar复制到自己Web应用程序的WEB-INF/lib目录下便可使用JSTL了。
例程6-13 转化大写标签的处理类ToUpperCase.java
package mytags; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyContent; import javax.servlet.jsp.tagext.BodyTagSupport; public class ToUpperCase extends BodyTagSupport { //定义一个存放结果的变量 String var = null; public String getVar() { return var; } public void setVar(String var) { this.var = var; } //标签开始时调用的处理方法 public int doStartTag() throws JspException { //表示需要处理标签体 return EVAL_BODY_BUFFERED; } //判断了标签体内容之后调用的处理方法 public int doAfterBody() throws JspException { //取得标签体对象 BodyContent body = getBodyContent(); //取得标签体的字符串内容 String content = body.getString(); //清除标签体中的内容 body.clearBody(); //将内容转换成大写 content = content.toUpperCase(); //在pageContext对象中保存变量 pageContext.setAttribute(var,content); //结束对标签体的处理 return SKIP_BODY; } }
例程6-14 标签库描述文件mytaglib.tld
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-jsptaglibrary_1_2.dtd" > <taglib> <tlib-version>mytaglib 1.0</tlib-version> <jsp-version>jsp 2.0</jsp-version> <short-name>mytag</short-name> <uri>http://www.e868.net/mytag</uri> <tag> <name>echo</name> <tag-class>mytags.Echo</tag-class> <body-content>empty</body-content> <attribute> <name>msg</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>formatdate</name> <tag-class>mytags.FormatDate</tag-class> <body-content>empty</body-content> <attribute> <name>date</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>type</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>touppercase</name> <tag-class>mytags.ToUpperCase</tag-class> <body-content>tagdependent</body-content> <variable> <name-from-attribute>var</name-from-attribute> <variable-class>java.lang.String</variable-class> <scope>AT_BEGIN</scope> </variable> <attribute> <name>var</name> <required>true</required> </attribute> </tag> </taglib>
例程6-15 使用自定义标签的JSP页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@ taglib prefix="mytag" uri="http://www.e868.net/mytag"%> <html> <head><title>自定义JSP标签应用实例</title></head> <body> <h2>自定义JSP标签应用实例</h2><hr> <mytag:echo msg="刘斌,你好!"/><br> 现在的时间是:<mytag:echo msg="<%=(new Date()).toString()%>"/><br> 当前容器的版本为:<mytag:echo msg="<%=application.getServerInfo()%>"/><br> 当前日期是:<mytag:formatdate date="<%=new Date()%>" type="date"/><br> 当前时间是:<mytag:formatdate date="<%=new Date()%>" type="time"/><br> 当前日期和时间是:<mytag:formatdate date="<%=new Date()%>" type="all"/><br> <mytag:touppercase var="result">abcdefghijklmnopqrst</mytag:touppercase> 转换结果:<%=result%> </body> </html>
运行效果如图6-5所示。
![]() |
(点击查看大图)图6-5 index.jsp运行效果 |
JSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作及数据库访问等。
这些标记库实现了大量服务器端 Java 应用程序常用的基本功能,大大提高了Web应用程序的开发效率,同时也提高了Web应用程序的可阅读性和可维护性。
目前最新的JSTL版本为1.1,必须在支持Servlet2.4/JSP2.0的容器(如:Tomcat5.x)中才能运行,读者只要将JSTL的jstl.jar和standard.jar复制到自己Web应用程序的WEB-INF/lib目录下便可使用JSTL了。
相关文章推荐
- JSP自定义标签开发入门实例
- 基于JSP 自定义标签使用实例介绍
- jsp中自定义标签用法实例分析
- jsp自定义标签之ifelse与遍历自定义标签实例
- JSP:自定义标签——开发实例[3]
- JSP:自定义标签——开发实例[4]
- jsp:自定义标签实例(TLD)
- JSP 自定义标签之一 简单实例
- 基于JSP 自定义标签使用实例介绍
- 基于JSP 自定义标签使用实例介绍
- JSP自定义标签开发入门实例
- jsp中自定义标签用法实例分析
- JSP:自定义标签——开发实例
- JSP自定义标签之一:简单实例
- 实例应用 自定义页面taglib标签
- JSP 自定义标签之一 简单实例
- JSP自定义标签开发+TLD文件元素详解+实例
- JSP自定义标签开发入门实例
- JavaEE自定义标签:标签类的创建、tld配置文件的创建(位置、如何创建)、Web-XML配置、JSP应用
- jsp自定义标签开发