p:commandButton/a4j:commandButton не обновляет другие компоненты после установки omnifaces1.14.1

У меня есть EAR-приложение (с большим количеством модулей), которое было собрано с jsf 2.0, primefaces 6.1 и richfaces 4.3.7 (я не знаю, почему они смешали prime и rich), и это приложение не использует CDI. Приложение работало хорошо, пока я не решил установить http://omnifaces.org/ v1.14.1, потому что мне нужно использовать Messages.addFlashInfo.

Сообщения хорошо работают с омнифасами, я также решил изменить свою h: form на o: form, и я изменил свои web.xml и Face -config.xml, чтобы использовать некоторые вещи из омнифайлов, такие как:

web.xml

<context-param>
  <param-name>org.omnifaces.EXCEPTION_TYPES_TO_UNWRAP</param-name>
  <param-value>javax.ejb.EJBException,javax.persistence.RollbackException</param-value>
 </context-param>
 <context-param>
  <param-name>org.omnifaces.EXCEPTION_TYPES_TO_IGNORE_IN_LOGGING</param-name>
  <param-value>javax.faces.application.ViewExpiredException</param-value>
 </context-param>

Лица-config.xml

<factory>
  <exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
 </factory>
 <factory>
  <exception-handler-factory>org.omnifaces.exceptionhandler.FacesMessageExceptionHandlerFactory</exception-handler-factory>
 </factory>
<lifecycle>
  <phase-listener>ec.com.hdlv.sishos.web.utilitario.ViewPhaseListener</phase-listener>
  <phase-listener>org.omnifaces.eventlistener.ResetInputAjaxActionListener</phase-listener>
 </lifecycle>

Проблема возникает, когда я нажимаю любую кнопку p:commandButton/Link или a4j:commandButton/Link. Они не обновляют и не отображают другие компоненты, если только p: commandButton не имеет свойства ajax="false".

Например, у меня есть один из p:commandLink, как это:

<o:form id="#{idForm}" onKeyPress="return disableEnterKey(event)"
                            useRequestURI="true" enctype="multipart/form-data">
     <p:panel id="cargosResultadoPnl"
            header="#{cargosDataManager.consultaCargos? 'Listado de cargos': 'Listado de devoluciones de cargos'}">
            <p:outputPanel styleClass="botonD"
                rendered="#{!cargosDataManager.modoConsulta}">
                <p:commandLink value="Nuevo" styleClass="nuevoD" title="Nuevo cargo"
                    action="#{cargosController.nuevoCargo()}" process="@this"
                    update="cargosResultadoPnl" />
            </p:outputPanel>
            <p:spacer width="5" />
            <p:dataTable value="#{cargosDataManager.listaCargos}"
                emptyMessage="#{cargosDataManager.consultaCargos? 'No existen cargos para el paciente': 'No existen devoluciones de cargos para el paciente'}"
                paginator="true" paginatorPosition="top" var="cargo"
                style="width:100%; margin-top:5px;" id="dtCargos"
                rowKey="#{cargo.registerDate}" selectionMode="single"
                selection="#{cargosDataManager.cargo}" rowIndexVar="numRow" rows="5"
                editable="true" editMode="cell" styleClass="myTable"
                paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}">
                ....columns
            </p:dataTable>
        </p:panel>
</o:form>

В приведенном выше примере есть @ViewScope для managedBean cargosController и @SessionScope для managedBean cargosDataManager (из javax.faces.bean)

Это метод void, который я использую из p:commandLink:

public void nuevoCargo() {
        superaTopeCobertura(sumaValorNetoCargosMemoria().add(sumaValorNetoHonorariosCargosMemoria()));
        verificarDisponibilidadConexionOdoo();
        inicializarCargo();
        agregarCargo();
    }

Не отображается ошибка ни консоли браузера, ни сервера. Я также принимаю во внимание эту инструкцию, но она не работает.

Приложение работает в Jboss EAP 6.4 с Java 8.

В чем может быть ошибка? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Спасибо

0 ответов

Другие вопросы по тегам