TLD文件配置详解(自定义标签)

来源:互联网 发布:淘宝上的便宜被子 编辑:程序博客网 时间:2024/05/16 01:09

<tag>
<name>write</name>
<tagclass>org.apache.struts.taglib.bean.WriteTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
其中:
<name>write</name>
:这个Tag的名字
<tagclass>org.apache.struts.taglib.bean.WriteTag</tagclass>
:这个Tag是由那个类实现的(这个class可以在struts.jar包中找到)
<bodycontent>empty</bodycontent>
:这个Tag可以直接结尾,不需要填写内容
   
这里bodycontent有三个可选值
       jsp        
标签体由其他jsp元素组成   
         
如果其有jsp元素,那么标签会先解释,然后将元素的实际值传入。比如标签体里含有<%=attributeName%>这样子的jsp元素,此时标签会按attributeName的实际值是什么就传入什么。这个是最常用的一个。
       empty 
标签体必须为空   
         
在引用这个Tag的时候,可以<bean:write bundle="attributeName" />,而不必<bean:write bundle="attributeName" ></bean:write> 
       tagdependent 
由标签解释,不带jsp转换 
<attribute> </attribute>
这里标识的是这个Tag的一个参数
<name>bundle</name>
这个参数的名字
<required>false</required>
这个参数是否是必填相
      
如果为true则必须写这个参数,否则会报错
<rtexprvalue>true</rtexprvalue>
是说这个标签的值可以写入
       rtexprvalue:"RUN-TIME EXPRESSION VALUE",
是否可以动态赋值,jsp中如value="<%=attributeName%>"

 

 

注:这个的tag处理类一般是包装到struts.jar中。如果是自定义的话要指定其位置

 

例子:一个tag处理类的大致结构

 

 

TagTest extends TagSupport

 

需要实现两个方法

 

doStartTag()

doEndTag()

原创粉丝点击