【问题标题】:Pass parameters from backingBean to jsf composite component将参数从 backingBean 传递给 jsf 复合组件
【发布时间】:2018-06-05 00:01:23
【问题描述】:

我正在尝试将一些参数传递给 myCc,如下所示:

<c:if test="${empty backingBeanRef}">
    <c:set var="backingBeanRef" value="#{myBean}" />
</c:if>

<!-- some code-->

<cc:myCc 
    param1="#{backingBeanRef.attribute}" />

<!-- some code-->

但我收到以下错误:

Target Unreachable, identifier 'backingBeanRef' resolved to null

我知道它不为空,因为我在包含 myCc 之前和之后都在使用它。如果我将参数作为param1="#{myBean.attribute}" 传递,则一切正常。

如何从 backingBeanRef 传递参数?

【问题讨论】:

    标签: jsf composite-component


    【解决方案1】:

    这是行不通的。 param1 的值不会立即评估,而是稍后在访问时评估。然后,复合组件评估 param1 中的 ValueExpression,在此过程中,它尝试找到一个名为“backingBeanRef”的 bean,该 bean 不存在(这就是错误消息已经告诉您的内容)。为什么不使用以下?

    <cc:myCc param1="#{myBean.attribute}" />
    

    【讨论】:

    • 这就是我正在使用的,但我试图参数化视图,以便我可以从由不同 bean 管理的多个 xhtml 中包含它,并且一切正常,但复合组件
    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 2014-02-19
    • 2011-04-26
    • 2014-02-03
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    相关资源
    最近更新 更多