Учитывая: а primefaces 5.3 приложения со следующим XHTMLCommandButton ActionListener не вызывается, когда отключено свойство является ложным
<h:form id="form" enctype="multipart/form-data">
<p:messages id="serversMessages" showDetail="true" autoUpdate="true" closable="true" />
<p:selectOneListbox value="#{servers.model.selectedServer}" style="min-width:300px">
<p:ajax event="change" listener="#{servers.onServerSelected}" update=":form" />
<f:selectItems value="#{servers.model.servers}" var="srv" itemValue="#{srv.serverInfoId}" itemLabel="#{srv.name}" />
</p:selectOneListbox>
<p:column><p:inputText value="#{servers.model.edit.name}" /></p:column>
<p:commandButton id="newServerBtn" actionListener="#{servers.onNewServerClicked}" value="New" update=":form"></p:commandButton>
<p:commandButton id="updServerBtn" disabled="#{empty servers.model.selectedServer}" actionListener="#{servers.onSaveClicked}" value="Save" update=":form"></p:commandButton>
<p:commandButton id="tmpServerBtn" actionListener="#{servers.onTempClicked}" value="Temp2" update=":form"></p:commandButton>
</h:form>
Когда: Я нажимаю на updServerBtn (он включен, когда элемент в списке имеет был выбран)
Ожидание: Будет вызван метод бэк-компонента.
Но на самом деле: Метод бэк-компонента не называется.
Наблюдения:
Если удалить отключенное свойство подкладочный боб называется.
tmpServerBtn вызывает метод бэкбона.
Когда я нажимаю на updServerBtn, XHR происходит с ответом 200.
Анализ:
Казалось бы, что Primefaces решает, что не стоит вызывать метод подложки боба.
Похожие вопросы
Перед отправкой на мой вопрос, я нашел этот пост здесь:
commandButton/commandLink/ajax action/listener method not invoked or input value not updated
Когда я удалить отключенный атрибут updServerBtn, метод подложки боба делает get invoked. Это говорит о том, что возможные причины проблем в вышеприведенном сообщении, вероятно, не применяются.
Когда я переключаю бэк-файл в SessionScoped, вызывается метод. –
Когда область видимости ViewScoped или RequestScoped, метод НЕ вызывается. –
Я добавил запись в конструктор и метод readResolve. Никаких признаков, которых это называют. –