Как использовать загрузку простых файлов с другими полями в запросе ajax? - PullRequest
0 голосов
/ 14 мая 2019

У меня проблема с primefaces fileupload с другими полями (inputText).

я собираюсь отправить все поля на сервер, когда я нажимаю Accept button формы в режиме AJAX.Для этого я использую режим расширенной загрузки файлов (простой режим не работает с ajax), а когда нажимаю кнопку формы Accept (не загрузка файлов 1011 *), я запускаю загрузку в событии onclick.Проблема в том, что файл большой и занимает больше времени, чем actionListener.

. Есть ли способ заставить actionListener работать после загрузки?

Другая ориентация на то, как сделать все, нажимая только кнопки «Принять», также помогает мне

Это мой код.

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

 .....



<p:dialog header="#{messages['listado.crear.CABECERA']} - #{messages['entidades.PLATAFORMA']}"
    widgetVar="dialogoCrearPlataformaWV" id="dialogoCrearPlataforma"
    modal="true" resizable="false" closable="false">
    <h:form enctype="multipart/form-data">
        <p:panelGrid columns="2" style="width: 100%">

            <h:outputText value="#{messages['listado.NOMBRE']}" />
            <h:inputText value="#{listadoPlataformas.plataformaCrear.nombre}"
                style="width: 100%" />

            <h:outputText value="#{messages['listado.LOGO']}" />
            <p:panelGrid columns="2" style="width: 100%">
                <p:fileUpload label="#{messages['comun.SELECCIONAR']}" id="crearFileUpload" 
                    widgetVar="crearFileUploadWV" multiple="false" fileLimit="1"
                    fileUploadListener="#{listadoPlataformas.subidaAutomaticaImagenCrear}" />

            </p:panelGrid>

        </p:panelGrid>
        <p:panelGrid columns="2" style="width:100%; text-align:center;">
            <p:commandButton value="#{messages['comun.ACEPTAR']}"
                id="crearPlataformaAceptar" ajax="true" onclick="PF('crearFileUploadWV').upload();"
                actionListener="#{listadoPlataformas.crearPlataforma}" 
                update="formularioPrincipal:listadoPlataformas formularioPrincipal:growl" />
            <p:commandButton value="#{messages['comun.CANCELAR']}"
                onclick="PF('dialogoCrearPlataformaWV').hide();" />

        </p:panelGrid>
    </h:form>
</p:dialog>
</html>

Я использую:

- Primefaces 6.2 - JDK 11 - JSF 2.2.19

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...