在条件渲染块中未调用ActionListener方法

时间:2014-11-08 18:45:34

标签: jsf

我已经得到了这个代码,其中一些按钮仅在某种条件下显示,如下所示:

<h:panelGroup rendered="#{mayusculasBean.jefeCerca}">
  <h:panelGrid columns="4">
    <h:commandButton value="Listar" 
        actionListener="#{gestorEmpleados.listarEmpleados}"
        immediate="true"/>
  ...`
</h:panelGroup>

rendered属性正常运行。问题是在按下actionListener时未调用commandButton方法。但是,如果我摆脱rendered属性,按钮工作正常。

我认为它可能与Jsf请求的不同阶段有关,因此当commandButton按下rendered属性时,我不知道为什么,评估是假的,因此避免调用actionListener方法...但它只是猜测,我真的不知道。

任何帮助?

1 个答案:

答案 0 :(得分:0)

如果mayusculasBean@RequestScoped,则在提交响应后,服务器将不会跟踪您的命令按钮组件。

如果是这种情况,您需要将mayusculasBean更改为更广泛的范围,例如@ViewScoped