这是我的 xhtml 代码的简化版本,我无法弄清楚为什么我的save1 commandButton 在save2工作时不起作用:
<rich:panel id="table_panel">
<h:form>
<rich:panel rendered="#{bean.showPanel}">
<a4j:commandButton id="save1" value="Save"
action="#{bean.executeAction()}">
</rich:panel>
<rich:panel>
<a4j:commandButton id="save2" value="Save2"
action="#{bean.executeAction()}">
</rich:panel>
</h:form>
</rich:panel>
当点击一个按钮时,它会在后端更新showPanel值为true并重新渲染*table_panel*,然后commandButton save1会出现,但即使它出现了,点击后永远不会调用action executeAction() (永远不要输入进入我的方法断点)。但是,命令按钮 save2始终可以正常工作。
这两个按钮的唯一区别是它们的包装丰富:面板,一个始终存在,而另一个在某些 UI 操作后显示,因为它具有呈现“#{bean.showPanel}”属性。我没有在 firebug 上看到任何 javascript 错误。
我会很感激任何想法,在此先感谢!