Jsf 在条件渲染块中未调用ActionListener方法
我有一段代码,其中一些按钮仅在特定条件下显示,如下所示:Jsf 在条件渲染块中未调用ActionListener方法,jsf,Jsf,我有一段代码,其中一些按钮仅在特定条件下显示,如下所示: <h:panelGroup rendered="#{mayusculasBean.jefeCerca}"> <h:panelGrid columns="4"> <h:commandButton value="Listar" actionListener="#{gestorEmpleados.listarEmpleados}" immediate="true"/&g
<h:panelGroup rendered="#{mayusculasBean.jefeCerca}">
<h:panelGrid columns="4">
<h:commandButton value="Listar"
actionListener="#{gestorEmpleados.listarEmpleados}"
immediate="true"/>
...`
</h:panelGroup>
...`
呈现的
属性工作正常。问题是当按下commandButton
时,没有调用actionListener
方法。但是,如果我去掉了rendered
属性,则按钮工作正常
我认为这可能与Jsf
请求的不同阶段有关,因此当按下commandButton
时,我不知道为什么rendered
属性的计算结果为false,从而避免调用actionListener
方法。。。但这只是猜测,我真的不知道
有任何帮助吗?如果您的
mayusculasBean
是@RequestScoped
,则在提交响应后,服务器将不会跟踪您的命令按钮组件
如果是这种情况,则需要将
mayusculasBean
更改为更大的范围,例如@ViewScoped
为什么要使用actionListener属性而不是action属性?因为我不是在页面之间导航,而是停留在同一页面中。无论如何,这是一个很好的提示,但我将其更改为action属性,并且仍然没有方法调用。如果此答案解决了您的问题,只需接受此答案即可。:-)