Jsf 2 p:commandButton id被忽略
我很难用一个按钮的id。 代码如下:Jsf 2 p:commandButton id被忽略,jsf-2,primefaces,Jsf 2,Primefaces,我很难用一个按钮的id。 代码如下: <p:commandButton title="Compute Distances" icon="ui-icon-refresh" id="computeDistance" actionListener="#{distances.compute()}" update="@(:input)"/> 当显示整个页面时,代码中定义的id似乎被忽略:当查看html时,按钮的id是j_idt815。 但是按钮似乎工作正常:
<p:commandButton
title="Compute Distances" icon="ui-icon-refresh"
id="computeDistance"
actionListener="#{distances.compute()}"
update="@(:input)"/>
当显示整个页面时,代码中定义的id似乎被忽略:当查看html时,按钮的id是j_idt815。
但是按钮似乎工作正常:调用actionListener方法
在表单中,有一个文本字段,用于在blur上生成ajax事件。此事件更新表单的所有组件,包括命令按钮,但不会对按钮进行任何修改。
离开此文本字段时,将发送ajax事件,更新后,命令按钮与之前完全相同,只是它现在具有我定义的computeDistance id,而不是生成的id!
从这一点开始,按钮停止工作:当我单击它时,actionListener方法不会被调用,因为我已经在这个方法的开头设置了一个断点
如果我没有设置按钮的id,那么它可以正常工作:即使文本字段触发了事件,单击按钮也会调用actionListener
我希望如果定义了id,那么生成的html中总是这个id,而不是生成的j_idtxxx形式的id。我说得对吗
顺便说一下,我在Mojarra 2.1.10中使用primefaces 3.4.1
在我看来,它就像一个primefaces/mojarra bug,但我还没有找到关于这个问题的注释。
提前感谢。检查使用情况,并检查id是否正确显示id。这就是我正在做的:我指出的值是在chrome developer tools firebug等效工具中找到的值。为什么要使用旧版本。使用的最新版本。我们希望避免回归,我们没有时间重新测试整个应用程序。