У меня проблема с 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
Большое спасибо.