首页 > Web开发 > 详细

自定义封装JSTL标签与EL函数表达式

时间:2017-02-11 22:39:22      阅读:251      评论:0      收藏:0      [点我收藏+]

自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web Container调用那些操作。

JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。

你可以继承SimpleTagSupport类并重写的doTag()方法来开发一个最简单的自定义标签。

 

要创建自定义的JSP标签,你首先必须创建处理标签的Java类。所以,让我们创建一个HelloTag类,如下所示:

 

 
  1. package com.runoob;  
  2.   
  3. import javax.servlet.jsp.tagext.*;  
  4. import javax.servlet.jsp.*;  
  5. import java.io.*;  
  6.   
  7. public class HelloTag extends SimpleTagSupport {  
  8.   
  9.   public void doTag() throws JspException, IOException {  
  10.     JspWriter out = getJspContext().getOut();  
  11.     out.println("Hello Custom Tag!");  
  12.   }  
  13. }  

 

 

 

以下代码重写了doTag()方法,方法中使用了getJspContext()方法来获取当前的JspContext对象,并将"Hello Custom Tag!"传递给JspWriter对象。

编译以上类,并将其复制到环境变量CLASSPATH目录中。最后创建如下标签库:<Tomcat安装目录>webapps\ROOT\WEB-INF\custom.tld

 
  1. <taglib>  
  2.   <tlib-version>1.0</tlib-version>  
  3.   <jsp-version>2.0</jsp-version>  
  4.   <short-name>Example TLD</short-name>  
  5.   <tag>  
  6.     <name>Hello</name>  
  7.     <tag-class>com.runoob.HelloTag</tag-class>  
  8.     <body-content>empty</body-content>  
  9.   </tag>  
  10. </taglib>  


接下来,我们就可以在JSP文件中使用Hello标签:

 

    1. <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>  
    2. <html>  
    3.   <head>  
    4.     <title>A sample custom tag</title>  
    5.   </head>  
    6.   <body>  
    7.     <ex:Hello/>  
    8.   </body>  
    9. </html>  

自定义封装JSTL标签与EL函数表达式

原文:http://www.cnblogs.com/AnswerTheQuestion/p/6390064.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!