46

我正在研究自定义标签库,我很困惑如何在 TLD 文件中使用<required><rtexprvalue>标签来定义自定义标签属性。

  1. 这些标签是什么?
  2. 我们应该在它们之间写什么?
  3. 写完这些标签后我们会得到什么行为?
4

2 回答 2

74

required很简单地暗示了它所说的。该属性是必需的或必需的。

rtexprvalue表示运行时表达式值。这意味着该属性可以支持 scriptlet 值。

elexprvalue意味着它可以支持 EL(表达式语言)值。

所以,如果你已经requiredattr定义为required=truertexprvalue=true并且elattribute被定义为elexprvalue=true,你可以这样写:

<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
于 2012-01-09T11:21:40.293 回答
10

TLD 中定义的<rtexprvalue>元素捕获属性的动态行为。该值可以是真或假。动态列中的 false 值意味着只能为属性指定静态字符串值。真值意味着可以指定请求时间属性值。正如 JSP 规范中定义的那样,“请求时间属性值”可以是 Java 表达式、EL 表达式或由<jsp:attribute>.

<required>元素定义嵌套属性是必需的还是可选的。如果不存在,则默认值为“false”,即该属性是可选的。

于 2013-03-17T20:11:10.097 回答