天天看点

Java 中tag配置文件中的标签属性意思

Java类中实现tag接口或继承TagSupport,类中的方法有doStartTag(),doEndTag()。

标签结束时调用doEndTag;标签开始时调用doStartTag

此处return返回值标记接下来需要做什么样的效果处理。有以下几种:

        // 1、EVAL_BODY_INCLUDE:把Body读入存在的输出流中,doStartTag()函数可用

        // 2、EVAL_PAGE:继续处理页面,doEndTag()函数可用

        // 3、SKIP_BODY:忽略对Body的处理,doStartTag()和doAfterBody()函数可用

        // 4、SKIP_PAGE:忽略对余下页面的处理,doEndTag()函数可用

每个自定义标签都必须在tld文件中声明,tld文件只不过是一个XML文件。根元素是<taglib>,它包含一个或者多个<tag>标签,该元素用来声明定制标签。

<taglib>       tld 文件的根元素

<tlib-version>    此标签库的版本        <tlib-version>1.1</tlib-version>

<jsp-version>     此标签库依赖的JSP版本。

<short-name>      当在JSP中使用标签时,此标签库首选或者建议的前缀   <short-name>c</short-name>

<description>     描述信息        <description>JSTL 1.1 core library</description>

<display-name>    图形工具可显示的一个简短名称     <display-name>JSTL core</display-name>

<icon>        图形工具可显示的图标        

<uri>         指定使用该标签库中标签的URI      <uri>http://java.sun.com/jsp/jstl/core</uri>

<validator>      于该库关的TagLibraryValidator信息

<listener>      指定事件监听器类

<function>       定义一个在EL中使用的函数

<tag>          定义一个标签

<tag>元素的子元素:

<description>    指定针对标签的信息

<display-name>     开发工具用于显示的一个简短名称

<icon>        可被开发工具使用的图标

<name>           标签名称

<tag-class>       Java标签处理器类的名称。注意这是处理器类的全限定名称    <tag-class>com.xt.xxx.Tag</tag-class>

<tei-class>        Javax.servlet.jsp.tagext.TagExtraInfo类的一个可选子类

<body-content>       此标签的主体部分的内容    <body-content>JSP</body-content>

<variable>       定义脚本变量信息

<example>            使用该标签例子的可选的非正式描述

<attribute>          包含了此标签的一个属性的元数据

<attribute>的子元素:

<description>    有关描述的文本信息

<name>         在jsp标签中使用的属性名称

<required>       指定属性是必须的还是可选的,默认为false,表示属性可选。如果该值为true,则jsp页面必须为该属性提供一个值。可能的值true、false、yes、no 

<rtexprvalue>    指定属性是否能接受请求时表达式的值,默认为false,表示不能接受请求时表达式的值。可能值:true、false、yes、no

<type>         属性的数据类型,该元素只能用在当<rtexprvalue>设置为true时。它指定当使用请求时属性表达式(<%= %>)返回类型。默认string

rtexprvalue的全称是 Run-time Expression Value。