【问题标题】:Is it recommendable to use an EL expression in id attribute是否建议在 id 属性中使用 EL 表达式
【发布时间】:2017-05-28 17:48:02
【问题描述】:

已经有很多关于使用的问题:

我的问题应该解决 EL 表达式在 JSF 组件的 id 属性中的一般用法。

假设我们有如下示例代码(这段代码的有用性不应该受到质疑):

<h:form id="#{bean.property}">
    <h:outputText value="#{bean.property}" />
</h:form>

现在我有以下问题:

  • 可以在h:form或其他JSF组件的id属性中使用EL表达式吗?
  • 如果在 id 属性中使用 EL 表达式,有哪些注意事项?
  • JSF 组件的 id 属性必须在视图构建时可用。像上面一样,延迟的 EL 表达式在访问属性时进行评估。因此,如果 id 属性中有 EL 表达式,EL 表达式的结果在视图构建时可用?
  • 我读到EL表达式可以用于javax.el.ValueExpression类型的属性,但id通常是Stringhttps://coderanch.com/t/550270/java/null-variable-id-attribute)类型。因此,如果表达式的计算结果为字符串,则只能在 id 属性中使用 EL 表达式?

如果您在 google 上搜索“id 属性中的 EL 表达式”,有人说您不能在 id 属性中使用 EL 表达式,但上面的示例代码完全可以正常工作。本题主要讨论id属性中EL表达式使用的可推荐性。

感谢您的回答!

【问题讨论】:

  • " 像上面一样,在访问属性时进行评估。因此,如果您在 id 属性中有 EL 表达式,EL 表达式的结果在视图构建时可用?" i> 试试...如果可行,您也可以回答大多数其他问题。
  • @Kukeltje 确实有效,但我的问题是为了讨论可推荐性。
  • 问题 1:如果不行,他们很可能会阻止它 问题 2/3:它在迭代 jsf 组件时不起作用,因为那是视图渲染时间(jstl 应该工作 irrc) , 问题4:没有想法,'试试'?我提出的更基本的问题是:你为什么想要这个?我从来不需要做这样的事情

标签: jsf el lifecycle


【解决方案1】:

不,永远不要这样做,id 不应该是动态的。 QA 团队将拒绝它。

【讨论】:

    猜你喜欢
    • 2018-06-05
    • 2020-02-13
    • 1970-01-01
    • 2012-12-27
    • 2017-05-08
    • 2015-07-12
    • 1970-01-01
    • 2012-07-24
    • 2013-09-02
    相关资源
    最近更新 更多