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