PrimeFaces 3.4.1 problema ao formatar no PickList

1 resposta
leslie-UFT

Bom dia a todos! Estou com problema ao formatar no picklist, pois o dado que tenho que mostrar em cada item seria assim:
29/11/2012 08:00 - 10:00, mais quando coloco os campos ele somente apresenta dessa maneira:
2012-11-29 00:00:00.0: 1970-01-01 09:00:00.0-1970-01-01 10:00:00.0

View
<h:form id="listaReservas"  prependId="false">
            <p:breadCrumb>
                <p:menuitem url="index.jsf" />
                <p:menuitem value="Lista de horários reservados" url="ListaReservas.jsf" />
                <p:menuitem value="Lista de horários reservados" url="ListaReservaHorario.jsf"  />
            </p:breadCrumb>


            <p:pickList style="width: 50%; border: none;" id="pickList" 
                        value="#{laboratorioHorarioReservaController.horarios}" converter="ReservaHorarioConverter"
                        var="day" itemLabel="#{day.dataReserva}: #{day.horaInicial}-#{day.horaFinal}" itemValue="#{day}" >
            </p:pickList>
        </h:form>
Converter
import br.com.wgs.dao.LaboratorioHorarioReservaDAO;
import br.com.wgs.model.LaboratorioHorarioReserva;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

/**
 *
 * @author Lesliê
 */
@FacesConverter(value = "ReservaHorarioConverter")
public class ReservaHorarioConverter implements Converter {
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value.trim().equals("")) {
            return "";
        }
            LaboratorioHorarioReservaDAO DAO = new LaboratorioHorarioReservaDAO();
            LaboratorioHorarioReserva horario = null;
            String []temp;
            if ((value != null) && (!value.equals(""))) {
                temp = value.split("-");
                horario = DAO.buscarPorHorarioReserva(temp[0],temp[1],temp[2]);
            }
            return horario;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value == null || value.equals("")) {
            return "";
        } 
        else {
            LaboratorioHorarioReserva h = (LaboratorioHorarioReserva)value;
            DateFormat time = new SimpleDateFormat("hh:mm");
            DateFormat date = new SimpleDateFormat("dd/MM/yyyy");
            String retorno = String.valueOf(date.format(h.getDataReserva())+" "+time.format(h.getHoraInicial())+" "+time.format(h.getHoraFinal()));
            return retorno;
        }
    }
}

1 Resposta

leslie-UFT

Ninguem! :frowning:

Criado 29 de novembro de 2012
Ultima resposta 30 de nov. de 2012
Respostas 1
Participantes 1