<required> 和 <rtexprvalue> 是做啥用的?

Posted

技术标签:

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

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

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

【问题讨论】:

docs.oracle.com/javaee/5/tutorial/doc/bnama.html#bnamh 【参考方案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”,即该属性是可选的。

【讨论】:

以上是关于<required> 和 <rtexprvalue> 是做啥用的?的主要内容,如果未能解决你的问题,请参考以下文章

<required> 和 <rtexprvalue> 是做啥用的?

required和optional表单美化例子

区间修改 单点查询

rt-thread 之网络组件

线段树

RequireJS - 在 require 流和内联中加载 AMD 模块