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
[code]<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>[/code]
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;
}
}
}