【问题标题】:JSF: Creating aliases for properties in backing beanJSF:为支持 bean 中的属性创建别名
【发布时间】:2011-01-03 15:30:18
【问题描述】:

我指的是在 EL 中具有相当神秘名称的相当深的对象层次结构,如 #{myBean.configBaseStack.excludeMethodFromAccounting.method.TimeoutBehaviorEnabled}

我想通过别名来指向这个相同的属性:

<x:alias name="m" value="#{myBean.configBaseStack.excludeMethodFromAccounting.method" />
<h:inputText value="#{m.TimeoutBehaviorEnabled}" />

我想实现这一点的一种方法是在支持 bean 中创建这些别名,但我宁愿把它留给模板。

如何在模板/facelet 级别完成此操作?

【问题讨论】:

    标签: jsf facelets


    【解决方案1】:

    我认为您可以使用&lt;ui:param&gt; 来完成此操作:

    <ui:param name="m" value="#{myBean.configBaseStack.excludeMethodFromAccounting.method}"/>
    

    那你就可以在同一个页面上这样使用了:

    <h:inputText value="#{m.TimeoutBehaviorEnabled}" />
    

    【讨论】:

    • 我知道这很简单。我检查了f:paramf:attribute,但没有意识到有这个:) 似乎工作,谢谢!
    • 在此处阅读“ vs
    【解决方案2】:

    您可以为此使用与 JSTL 等效的 set 标记(使用 varvalue 属性)。

    【讨论】:

    • 这是可能的,但它会锁定关系。 Shervin 建议使用ui:param 可以更灵活地使用属性。不过建议很好。
    【解决方案3】:

    据我所知,jsf 不支持别名,使用的是标准组件。

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2011-06-26
      • 2013-01-17
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      相关资源
      最近更新 更多