自定义标签TLD文件中,rtexprvalue属性是什么意思

rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否能够利用JSP表白式

 

上网看了一下,有所收获,总结来说最简单的就是在使用标签时能不能使用表达式来动态指定数据。true是可以,false是不可以。

 

做个简单例子:

定义TLD文件如下:

Java代码   收藏代码
  1. <tag>  
  2.     <name>selectDetail</name>  
  3.     <tag-class>com.nms.taglib.SelectDetail_Tag</tag-class>  
  4.     <body-content>JSP</body-content>  
  5.     <attribute>  
  6.         <name>id</name>  
  7.         <rtexprvalue>true</rtexprvalue>  
  8.     </attribute>  
  9.     <attribute>  
  10.         <name>selectVal</name>  
  11.         <rtexprvalue>true</rtexprvalue>  
  12.     </attribute>  
  13.     <attribute>  
  14.         <name>collection</name>  
  15.         <rtexprvalue>true</rtexprvalue>  
  16.     </attribute>  
  17. </tag>  

 

页面可以这样设置需要的值:

Java代码   收藏代码
  1. <%  
  2. User user = new User();  
  3. user.setId(1);  
  4. request.setAttribute("user",user);  
  5. %>         
  6. <html:selectDetail id="" collection="<%="SEX" %>" selectVal="${user.id}"></html:selectDetail>  

 

使用脚本和EL表达式来获取动态的值

 

如果你将rtexprvalue设置为flase,那么上面的使用会直接报错

必须这样使用:

Java代码   收藏代码
  1. <html:selectDetail id="" collection="SEX" selectVal="男"></html:selectDetail>  

 

我看了一下别人自定义标签,其实吧你全设置为true就可以了,方便使用也省事。

你可能感兴趣的:(自定义标签TLD文件中,rtexprvalue属性是什么意思)