Jsf Prime Faces p:commandButton在添加禁用选项后停止发送actionListeners
我的Jsf Prime Faces p:commandButton在添加禁用选项后停止发送actionListeners,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我的p:commandButton在添加disabled选项后停止发送actionListeners。为什么会这样 我有一个p:selectOneListbox,在启用OK按钮之前,需要选择一些内容: <p:selectOneListbox value="#{FileSelectBean.fileNameSelected}"> <f:selectItems value="#{FileSelectBean.fileNames}" /> <p:ajax up
p:commandButton
在添加disabled
选项后停止发送actionListeners
。为什么会这样
我有一个p:selectOneListbox
,在启用OK
按钮之前,需要选择一些内容:
<p:selectOneListbox value="#{FileSelectBean.fileNameSelected}">
<f:selectItems value="#{FileSelectBean.fileNames}" />
<p:ajax update=":formFileSelect:okId" />
</p:selectOneListbox>
支持bean:
private String fileNameSelected = "";
在没有禁用的情况下,所有都可以正常工作=“#{FileSelectBean.fileNameSelected.isEmpty()}”
。一旦我添加了这个,OK按钮被正确地启用/禁用,但在单击按钮后停止调用FileSelectBean.actionOk
出了什么问题
编辑:
我已经删除了
,并以其他方式刷新了一个按钮,但没有任何帮助。因此它与selectOneListbox
中的ajax
无关,请尝试以下操作:
<p:selectOneListbox id="primeOneListBox" value="#{FileSelectBean.fileNameSelected}">`
<f:selectItems value="#{FileSelectBean.fileNames}" />
<p:ajax event="change" update=":formFileSelect:okId" process=":formFileSelect:primeOneListBox" />
</p:selectOneListbox>
`
并检查在选择后是否调用fileNameSelected setter方法只是快速检查-它是否在表单中?有嵌套表单吗?您是否尝试设置ajax=“true”和ajax=“false”并查看它是否改变了什么?如何更新按钮本身?尝试将
process=“@this:formFileSelect:okId”添加到p:ajax`标记中。这可能与更新的时间和bean的范围有关。ActionListeners在模型更新之前启动,因此,根据bean的范围,{FileSelectBean.fileNameSelected.isEmpty()}
可能没有及时更新以产生影响。尝试将actionListener
更改为action
谢谢,但是action
没有帮助。@jedrus07您能说得更具体一点吗?
<p:selectOneListbox id="primeOneListBox" value="#{FileSelectBean.fileNameSelected}">`
<f:selectItems value="#{FileSelectBean.fileNames}" />
<p:ajax event="change" update=":formFileSelect:okId" process=":formFileSelect:primeOneListBox" />
</p:selectOneListbox>