我正在处理自定义标记库,我很困惑如何在TLD文件中使用<required>
和<rtexprvalue>
标记来定义自定义标记属性。
答案 0 :(得分:68)
required
非常简单地暗示它所说的内容。该属性是必需的或必须的。
rtexprvalue
表示运行时表达式值。这意味着该属性可以支持scriptlet值。
elexprvalue
表示它可以支持EL(表达式语言)值。
因此,如果requiredattr
定义为required=true
和rtexprvalue=true
且elattribute
定义为elexprvalue=true
,则可以按如下方式编写:
<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
答案 1 :(得分:7)
TLD中定义的<rtexprvalue>
元素捕获属性的动态行为。该
值可以是true或false。动态列中的false值表示该值
只能为属性指定静态字符串值。真正的价值意味着a
可以指定请求时属性值。正如JSP规范中定义的那样
“request-time属性值”可以是Java表达式,EL表达式,也可以是
由<jsp:attribute>
设置的值。
<required>
元素定义嵌套属性是必需的还是可选的。如果不存在则默认为“false”,即属性是可选的。