将参数从backingBean传递给jsf复合组件

时间:2017-12-22 10:14:05

标签: jsf composite-component

我正在尝试将一些参数传递给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

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

如何从backingBeanRef传递参数?

1 个答案:

答案 0 :(得分:1)

这不起作用。 param1的值不会立即评估,但会在以后访问时评估。然后,复合组件在param1中计算ValueExpression,并在此过程中尝试查找名为&#34; backingBeanRef&#34;的bean。它不存在(错误信息告诉你的是什么)。为什么不跟你一起使用?

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