Pessoa, boas!! Estou com uma dificuldade em deixar o meu formulário preparado para o próximo registo, ou seja, limpar os campos do form. Depois do método create eu envio uma mensagem de confirmação e chamo o meu método limpar que nele tem uma instância do meu objecto e da minha lista mas não limpar o form.
Visão
Minha ManagedBean Documento
/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package edu.ucan.sighp.managedbean.ct;
import edu.ucan.sighp.entity.ct.CtDiario;
import edu.ucan.sighp.entity.ct.CtDocumento;
import edu.ucan.sighp.session.ct.CtDiarioFacade;
import edu.ucan.sighp.session.ct.CtDocumentoFacade;
import edu.ucan.sighp.util.ct.Numeros;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.application.NavigationHandler;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
/**
*
-
@author banguela
*/
@ManagedBean
@SessionScoped
public class DocumentoBean {@EJB
private CtDiarioFacade ctDiarioFacade;
@EJB
private CtDocumentoFacade ctDocumentoFacade;
private CtDocumento documuento;
private CtDocumento documuentoSelecionado;
private List listarDocumentos = null;
private List listarDiarios = null;
private int codigoDiario = 0;
private Integer numeroDocumento = 0;
private String descricaoDocumento;
private Date dataRegistroDocumento;public DocumentoBean() {
documuento = new CtDocumento(); listarDiarios = null; dataRegistroDocumento = new Date();
}
public CtDocumento getDocumuento() {
return documuento;
}public void setDocumuento(CtDocumento documuento) {
this.documuento = documuento;
}public CtDocumento getDocumentoAlterar(String codigo){
return ctDocumentoFacade.find(Integer.parseInt(codigo));
}
public List getListarDocumentos() {
return ctDocumentoFacade.findAll();}
public void setListarDocumentos(List listarDocumentos) {
this.listarDocumentos = listarDocumentos;
}public List getListarDiarios() {
return ctDiarioFacade.findAll();
}public String getDescricaoDocumento() {
return descricaoDocumento;
}public void setDescricaoDocumento(String descricaoDocumento) {
this.descricaoDocumento = descricaoDocumento;
}public Date getDataRegistroDocumento() {
return dataRegistroDocumento;
}public void setDataRegistroDocumento(Date dataRegistroDocumento) {
this.dataRegistroDocumento = dataRegistroDocumento;
}public String edit(CtDocumento documento) {
this.documuento = documento; return "alterarDocumento";
}
public String gravar() {
List<CtDocumento> list = getListarDocumentos(); CtDocumento doc; try { documuento.setDescricaodocumento(descricaoDocumento); documuento.setIddiarioCtDiario(ctDiarioFacade.find(codigoDiario)); documuento.setNumerodocumento(numeroDocumento); documuento.setDataregistrodocuemnto(new java.sql.Timestamp(dataRegistroDocumento.getTime())); //Verifico se o item já está no Banco de Dados for (int i = 0; i < list.size(); i++) { doc = list.get(i); if (doc.getDescricaodocumento().equals(descricaoDocumento)) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "O documento em exercício já existe.")); return "formDocumento.xhtml"; } } ctDocumentoFacade.create(documuento); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "", "O documento "+documuento.getDescricaodocumento()+" foi salvo com sucesso!")); limpar(); repreencherLista(); } catch (Exception ex) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao salvar o documento " +documuento.getDescricaodocumento()+ ", verifique todos os parametros de inserção!", "")); ex.printStackTrace(); } return "formDocumento.xhtml";
}
public String alterar() {
try { documuento.setIddiarioCtDiario(ctDiarioFacade.find(documuento.getIddiarioCtDiario().getIddiario())); this.ctDocumentoFacade.edit(this.documuento); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "", "Os Dados foram actualizados com sucesso!")); repreencherLista(); limpar(); } catch (Exception exception) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "Impossível alterar o documento "+ documuento.getDescricaodocumento()+" Verifique se está sendo utilizado em algum registro.")); return "formDocumento.xhtml"; } return "listarDocumento.xhtml";
}
public void eliminar(CtDocumento doc) {
try { ctDocumentoFacade.remove(ctDocumentoFacade.find(doc.getIddocumento())); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "O Documento "+doc.getDescricaodocumento()+" foi eliminada com sucesso!", "")); repreencherLista(); } catch (Exception exception) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Impossível eliminar o ano econômico "+doc.getDescricaodocumento()+". Verifique se está sendo utilizado em algum registro.", "")); }
}
public void redirecionar(String pagina) {
FacesContext context = FacesContext.getCurrentInstance();
NavigationHandler navHandler = context.getApplication().getNavigationHandler();
navHandler.handleNavigation(context, null, pagina);
}public void redirecionarPagina() {
redirecionar(“listarDocumento.xhtml”);
}public void repreencherLista() {
listarDocumentos = ctDocumentoFacade.findAll();
}
public void limpar() {
documuento = new CtDocumento();
listarDiarios = new ArrayList<>();}
public int getCodigoDiario() {
return codigoDiario;
}public void setCodigoDiario(int codigoDiario) {
this.codigoDiario = codigoDiario;
}public CtDocumento getDocumuentoSelecionado() {
return documuentoSelecionado;
}public void setDocumuentoSelecionado(CtDocumento documuentoSelecionado) {
this.documuentoSelecionado = documuentoSelecionado;
}public List getNumero(){
List numeros = new ArrayList();
for(int i = 1; i<=9; i++){ Numeros valor = new Numeros(); valor.setCodigo(i); numeros.add(valor); } return numeros;
}
public Integer getNumeroDocumento() {
return numeroDocumento;
}public void setNumeroDocumento(Integer numeroDocumento) {
this.numeroDocumento = numeroDocumento;
}
}
Método limpar
public void limpar() {
documuento = new CtDocumento();
listarDiarios = new ArrayList<>();
}