Как очистить t: inputFileUpload после отправки - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь отправить данные компоненту поддержки, но после отправки формы и получения ответа в браузере данные входного файла сохраняются на странице, даже если вы не можете видеть, я заметил, что после нажатия 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>

...