Я пытаюсь отправить данные компоненту поддержки, но после отправки формы и получения ответа в браузере данные входного файла сохраняются на странице, даже если вы не можете видеть, я заметил, что после нажатия F5
на странице и данные были переданы ...
в бэк-бине я устанавливаю соответствующее значение равным нулю в блоке finally метода. Боб определяется как ViewScoped в конфигурации лица.
package co.com.ibm.acobros.managedbean;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Map.Entry;
import javax.ejb.EJB;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import co.com.ibm.acobros.gestorbean.GestionParametrosEJB;
import co.com.ibm.acobros.model.vo.VOCargueSegmento;
import co.com.ibm.acobros.utilidades.UtilitariosLOB;
public class SegmentosMB
{
private String idProceso;
private Long resultadoCargue;
private UploadedFile file;
@EJB
GestionParametrosEJB gestionParametrosEJB;
public void submit() throws IOException
{
VOCargueSegmento cargue = new VOCargueSegmento();
try
{
cargue.setArchivoCargue(UtilitariosLOB.uploadedFileToCLOB(file.getInputStream()));
cargue.setNombreArchivo(file.getContentType());
cargue.setIdAutenticacion(1L);
Entry<Long, String> r = (Entry<Long, String>) gestionParametrosEJB.cargarSegmentos(cargue);
resultadoCargue = r.getKey();
idProceso = r.getValue();
}
catch (SQLException | IllegalStateException e)
{
e.printStackTrace();
}
finally
{
file = null;
}
}
public UploadedFile getFile()
{
return file;
}
public void setFile(UploadedFile file)
{
this.file = file;
}
public Long getResultadoCargue()
{
return resultadoCargue;
}
public void setResultadoCargue(Long resultadoCargue)
{
this.resultadoCargue = resultadoCargue;
}
public String getIdProceso()
{
return idProceso;
}
public void setIdProceso(String idProceso)
{
this.idProceso = idProceso;
}
}
и вид ...
<h:form enctype="multipart/form-data">
<t:inputFileUpload accept=".csv" value="#{segmentosMB.file}">
</t:inputFileUpload>
<h:commandButton value="#{general.importar}"
class="btn btn-davivienda"
actionListener="#{segmentosMB.submit()}">
</h:commandButton>