我正在研究自定义标签库,我很困惑如何在 TLD 文件中使用<required>
和<rtexprvalue>
标签来定义自定义标签属性。
- 这些标签是什么?
- 我们应该在它们之间写什么?
- 写完这些标签后我们会得到什么行为?
我正在研究自定义标签库,我很困惑如何在 TLD 文件中使用<required>
和<rtexprvalue>
标签来定义自定义标签属性。
required
很简单地暗示了它所说的。该属性是必需的或必需的。
rtexprvalue
表示运行时表达式值。这意味着该属性可以支持 scriptlet 值。
elexprvalue
意味着它可以支持 EL(表达式语言)值。
所以,如果你已经requiredattr
定义为required=true
和rtexprvalue=true
并且elattribute
被定义为elexprvalue=true
,你可以这样写:
<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
TLD 中定义的<rtexprvalue>
元素捕获属性的动态行为。该值可以是真或假。动态列中的 false 值意味着只能为属性指定静态字符串值。真值意味着可以指定请求时间属性值。正如 JSP 规范中定义的那样,“请求时间属性值”可以是 Java 表达式、EL 表达式或由<jsp:attribute>
.
该<required>
元素定义嵌套属性是必需的还是可选的。如果不存在,则默认值为“false”,即该属性是可选的。