JSPTag标签库

标签库程序应该有以下几部分组成:
(1)、标签的具体实现文件(*.java):必须继承javax.servlet.jsp.tagext.TagSuport
(2)、标签的描述文件(*.tld)
(3)、如果需要可以在web.xml中进行设置
(4)、在JSP中通过标签进行自定义标签库的调用

一、在具体实现文件(*.java)中,doStartTag方法:表示标签的开始
                                             doStartEnd方法:表示标签的结束
二、*.tld文件是标签的描述文件,此文件对标签库的运行起绝对性作用,*.tld文件也是一个xml文件,如果是使用xml,则需要DTD、SCHEMA支持。
Name:表示标签的方法名称:<jsp:forward><jsp:include>

java实现类:

package com.wyq.TagTest;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class Hello extends TagSupport{

 @Override
 public int doStartTag() throws JspException {
   //从页面获取request,得到页面的值
   ServletRequest request = pageContext.getRequest();
  String str="www.wyq.cn";
  //在servlet中打印要使用printWriter
  //如果在标签中打印需要使用pageContext
  JspWriter out=pageContext.getOut();
  try{
   out.print(str);
  }catch(Exception e){
   e.printStackTrace();
  }
  //只要打印完了字符串,则后面的代码就不需要执行了
  
  return TagSupport.SKIP_BODY;
 }

}

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>2.0</jsp-version>
  <short-name>hello</short-name>
  <tag>
    <name>mldn</name>
    <tag-class>com.wyq.TagTest.Hello</tag-class>
    <body-content>empty</body-content>
  </tag>
</taglib>

你可能感兴趣的:(jsp)