绑定后JSF组件消失

时间:2012-06-08 17:31:00

标签: jsf

我定义了一个自定义组件,并尝试使用绑定如下:

<ui:composition ...>
    <div>
        <f:subview>
            <a4j:outputPanel>
                <h:commandButton id="t1" value="test!" />
                ...
            </a4j:outputPanel>
        </f:subview>
    </div>
</ui:composition>

此组件正常工作,直到我添加了这样的绑定属性:

<h:commandButton id="t1" binding="#{foo}" value="test!" onclick="alert('I am #{id:cid(foo)}'); return false;" />

此组件未显示,我无法找到此按钮的相应代码段。

任何人都知道修复?

1 个答案:

答案 0 :(得分:1)

  

是的,它被多次使用

原因在于此。 binding应引用该组件的唯一引用。现在,您实际上有多个组件引用同一个参考。

我不确定具体的功能要求是什么,但是当你已经进入JavaScript上下文时,通常不需要这种方法。然后,特定的例子也可以如下解决:

<h:commandButton id="t1" value="test!" onclick="alert('I am ' + id); return false;" />

生成的HTML元素本身的ID与JSF组件客户端ID完全相同。