Jsf 是否建议在id属性中使用EL表达式

Jsf 是否建议在id属性中使用EL表达式,jsf,el,lifecycle,Jsf,El,Lifecycle,关于以下各项的使用,已经存在很多问题: 属性中的EL() Facelets中的JSTL() 查看生成时间() 我的问题应该涉及JSF组件的id属性中EL表达式的一般用法 假设我们有以下示例代码(不应质疑此代码的有用性): 现在我有以下问题: 在h:form或其他JSF组件的id属性中使用EL表达式可以吗 如果在id属性中使用EL表达式,需要记住什么 JSF组件的id属性必须在视图构建时可用。延迟EL表达式(如上所述)在访问属性时进行计算。因此,如果id属性中有EL表达式,EL表达式的结

关于以下各项的使用,已经存在很多问题:

  • 属性中的EL()
  • Facelets中的JSTL()
  • 查看生成时间()
我的问题应该涉及JSF组件的id属性中EL表达式的一般用法

假设我们有以下示例代码(不应质疑此代码的有用性):


现在我有以下问题:

  • h:form
    或其他JSF组件的id属性中使用EL表达式可以吗
  • 如果在id属性中使用EL表达式,需要记住什么
  • JSF组件的id属性必须在视图构建时可用。延迟EL表达式(如上所述)在访问属性时进行计算。因此,如果id属性中有EL表达式,EL表达式的结果在视图生成时可用
  • 我了解到EL表达式可以在
    javax.EL.ValueExpression
    类型的属性中使用,但id通常是
    String
    ()类型。因此,如果表达式的计算结果为字符串,则只能在id属性中使用EL表达式
如果你在谷歌上搜索“id属性中的EL表达式”,有人说你不能在id属性中使用EL表达式,但是上面的示例代码工作得非常好。这个问题主要是为了讨论在id属性中使用EL表达式的可推荐性


谢谢你的回答

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

“如上所述,在访问属性时进行评估。因此,如果id属性中有EL表达式,则EL表达式的结果在视图生成时可用?”请尝试。。。如果可行,您也可以回答大多数其他问题。@Kukeltje确实可行,但我的问题旨在讨论推荐性。问题1:如果不可行,他们很可能会阻止它。问题2/3:它在迭代jsf组件时不起作用,因为这是视图渲染时间(jstl应该在irrc中起作用),问题4:没有iddea,“尝试”?我更基本的问题是:你为什么想要这个?我从来没有必要做这样的事情
<h:form id="#{bean.property}">
    <h:outputText value="#{bean.property}" />
</h:form>