p:commandButton id被忽略

时间:2014-03-17 09:21:17

标签: jsf-2 primefaces

我很难使用primefaces commandButton的身份 这是代码:

<p:commandButton 
    title="Compute Distances" icon="ui-icon-refresh"
    id="computeDistance"
    actionListener="#{distances.compute()}"
    update="@(:input)"/>

当显示整个页面时,此代码中定义的id似乎被忽略:当查看html时,按钮的id为j_idt815。
但按钮似乎正常工作:调用actionListener方法。

在表单中,有一个文本字段,可以在模糊时生成ajax事件。此事件更新表单的所有组件,包括命令按钮(但它不会对按钮进行任何修改)。
离开此文本字段时,会发送ajax事件,并且在更新之后,命令按钮与之前完全相同,不同之处在于它现在具有我已定义的id(computeDistance),而不是生成的id!
从这一点开始,按钮停止工作:当我单击它时,不会调用actionListener方法(我在此方法的开头设置了一个断点)。

如果我没有设置按钮的ID,那么它可以正常工作:即使在文本字段触发了事件之后,单击该按钮也会调用actionListener。

我希望如果定义了id,那么它始终是生成的html中的一个,而不是生成的j_idtxxx形式的id。我对么?

顺便说一句,我在Mojarra 2.1.10中使用了primefaces 3.4.1 它看起来像一个primefaces / mojarra bug,但我还没有找到这个问题的注释。
提前谢谢。

0 个答案:

没有答案