quinta-feira, 23 de janeiro de 2020

Construindo um converter para JSF

    Nesse poste vou mostrar um converter simples do JSF. A diferença entre converters do JSF 1.* para o 2.* é que no 1.* é necessário declarar o converter no arquivo faces-config.xml enquanto que no 2.* é usado a anotação @FacesConverter.

    O papel do converter é dizer ao JSF como levar para o lado cliente e trazer de volta os objetos das classes que você construiu. É exigido, por exemplo, para a construção de Selects.

    Na prática, pela grande quantidade de classes de um projeto, geralmente se constrói um converter genérico para evitar o trabalho de ter que construir um converter para cada classe.

@FacesConverter(forClass=Paciente.class)
public class PacienteConverter implements Converter {
   
    PacientesDAO pacientesDAO = new PacientesDAO();
   
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value == null) {
              return null;
        }
        Long id = new Long(value);
            Paciente paciente = (Paciente) pacientes.porId(id);
        return paciente;
         
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value == null) {
              return null;
        }
             
        Paciente paciente = (Paciente) value;
             
        return  paciente.getId().toString();
    }

}

    Para este artigo é isso, abraços.

Nenhum comentário:

Postar um comentário