java中自定义标签的配置

来源:互联网 发布:用网络机顶盒怎么看电视直播 编辑:程序博客网 时间:2024/05/21 05:20

自定义标签的开发及配置说明
以下是自定义标签的程序:
package servlet;
import javax.servlet.jsp.tagext.*;
import java.util.Date;
import javax.servlet.jsp.JspTagException;
public class HelloTag extends TagSupport {
 public int doStartTag() throws JspTagException {
  System.out.print("执行了JSF的!");
  return EVAL_BODY_INCLUDE;
  
 }
 public int doEndTag() throws JspTagException{
  String dataString=new Date().toString();
  try{
   pageContext.getOut().write("Hello World Hellking<br>现在时间是:"+dataString);
   System.out.print("执行了JSF的!");
  }catch(Exception e){
   throw new JspTagException("Fatal error:hello tag conld not write to JSP out");
  }
  return EVAL_PAGE;
 }

}
在WEB-INF/建立一个名为tlds的文件夹,在下面写入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>1.0</tlib-version>
 <jsp-version>1.2</jsp-version>      
    <short-name>sfq55555</short-name>
<tag>
  <name>hello</name>
  <tag-class>servlet.HelloTag</tag-class>
  <body-content>empty</body-content>
</tag>
</taglib>
在WEB-INF文件下找到web.xml文件,在其中加入
  <jsp-config>
  <taglib>
    <taglib-uri>/demo</taglib-uri>
    <taglib-location>/WEB-INF/tlds/HelloTag.tld</taglib-location>
  </taglib>
</jsp-config>
这样一个自定义标签就配置成功了,以下是我对自定义标签配置的一些理解,.
首先在WEB-INF/tlds/的tld文件中指定了这个标签的位置,然后在WEB-INF/web.xml中对tld文件进行映射:<taglib-uri>/demo</taglib-uri>
如果你用访问这个自定义标签可以用以下JSP来访问

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<%@ taglib uri="/demo" prefix="somePrefix"%>
<html>
 <head>
  <title>TagSupport的应用示例</title>
 </head>
 <body>
<somePrefix:hello/>
xcvxcv
 </body>
</html>
<%@ taglib uri="/demo" prefix="somePrefix"%>中的rui="/demo"就是在web.xml中映射的路径.
JSP页面是通过uri="/demo"来找到这个自定义标签的.

以下是它的执行流程

最后记得加入自定义标签的开发包"jstl.jar"