Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Prime Faces p:commandButton在添加禁用选项后停止发送actionListeners_Jsf_Jsf 2_Primefaces - Fatal编程技术网

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>