什么是<required>和<rtexprvalue>用于?

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

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

required很简单就意味着它所说的。 该属性是必需的或强制的。

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

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

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

 <myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/> 

TLD中定义的<rtexprvalue>元素捕获属性的dynamic行为。 值可以是真或假。 dynamic列中的错误值意味着只能为该属性指定静态string值。 一个真正的值意味着可以指定请求时间属性值。 如JSP规范中所定义的,“请求时间属性值”可以是Javaexpression式,ELexpression式或由<jsp:attribute>设置的值。

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