【问题标题】:What are <required> and <rtexprvalue> used for?<required> 和 <rtexprvalue> 是做什么用的?
【发布时间】:2012-02-05 22:31:16
【问题描述】:

我正在研究自定义标记库,我很困惑如何在 TLD 文件中使用 &lt;required&gt;&lt;rtexprvalue&gt; 标记来定义自定义标记属性。

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

【问题讨论】:

标签: java jsp taglib custom-tag


【解决方案1】:

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

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

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

因此,如果您将requiredattr 定义为required=truertexprvalue=true,并且elattribute 定义为elexprvalue=true,则可以编写如下:

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

【讨论】:

  • 谢谢,我会再次参考代码并尝试一下!你能告诉我如果我将 rtexprvalue 设为 false 会发生什么吗?我应该在 标签之间的标签库文件中输入什么??
  • 一般rtexprvalueelexprvalue 只有在你不希望你的taglib 的用户提供运行时值时才设置为假。我在一些标签库中看到id 属性被声明为false
【解决方案2】:

TLD 中定义的&lt;rtexprvalue&gt; 元素捕获属性的动态行为。这 值可以是真或假。动态列中的错误值意味着 只能为属性指定静态字符串值。一个真值意味着一个 可以指定请求时间属性值。正如 JSP 规范中定义的那样,一个 “请求时间属性值”可以是 Java 表达式、EL 表达式或 由&lt;jsp:attribute&gt; 设置的值。

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

【讨论】:

    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2015-05-22
    • 2011-04-28
    相关资源
    最近更新 更多