Converter time para string

Boa tarde galera,

sou novato em jsf , e estou com uma duvida,

o caso eh o seguinte,

11:50:15,812 GRAVE [javax.enterprise.resource.webcontainer.jsf.context] (http–127.0.0.1-8080-2) java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.lang.String

eu tenho um objeto agenda, que tem varias consultas ,que consulta tem uma data,

estou fasendo um menu com 4 selectOneMenu , a primeira contendo a agenda ,segunda o profissional da agenda, terceiro a data da consulta da agenda , e 4 a hora,

no caso do erro esta no selectOneMenu da data, esse erro geralmente eh que necessita de um conversor,só que tenho uma duvida ,criar conversor para um atributo de um objeto?

ajuda ai galera abraço,

olá…
Você poderia posta o código para eu ver como você está convertendo ??

Ola alessandra, no meu caso ,estou com duvida se posso criar um converter para um atributo, pois pelo que aprendi, converter seria para objeto?

Cara, verifique se o tipo de atributo do seu Managed Bean eh o mesmo tipo de dado declarado em seu arquivo .jsp, ou .xhtml. Em um lugar ele foi definido como String e no outro como Date.

abrsss

Boa tarde,

Se você postar o código do combo e o managedBean, ficaria mais fácil. Como você popula esse combo ???

Enfim, você pode tentar usar isso aqui dentro do combo.

<f:convertDateTime pattern="dd/MM/yyyy"  /> 

[]'s

vini ,verifiquei e nos 2 ambos estão Date,

olha o .xhtml

[code]&lt;h:form id="consulta"&gt;
		&lt;p:fieldset legend="Agenda medica"&gt;
			&lt;div class="campo-grupo"&gt;
				&lt;h:outputLabel value="Médico" /&gt;
				&lt;p:selectOneMenu converter="profissionalConversor"
					id="profissional" required="true"
					requiredMessage="O médico é obrigatório"
					style="height: 23px; width: 335px;"
					value="#{consultaMedicaBean.profissional}"&gt;
					&lt;f:selectItem itemLabel="SELECIONE" itemValue=""
						noSelectionOption="true" /&gt;
					&lt;f:selectItems value="#{consultaMedicaBean.profissionais}" var="p"
						itemValue="#{p}" itemLabel="#{p.pessoa.nome}" /&gt;
					&lt;p:ajax event="change"
						listener="#{consultaMedicaBean.getAgendasMedicas}"
						update="agendamedica" /&gt;
				&lt;/p:selectOneMenu&gt;
			&lt;/div&gt;

			&lt;div class="campo-grupo"&gt;
				&lt;h:outputLabel value="Agenda" /&gt;
				&lt;p:selectOneMenu converter="agendaConversor" id="agendamedica"
					required="true" requiredMessage="A agenda é obrigatório"
					style="height: 23px; width: 335px;"
					value="#{consultaMedicaBean.agendaMedica}"
					valueChangeListener="#{consultaMedicaBean.getDatas}"&gt;
					&lt;f:selectItem itemLabel="SELECIONE" itemValue=""
						noSelectionOption="true" /&gt;
					&lt;f:selectItems value="#{consultaMedicaBean.agendasMedicas}"
						var="am" itemValue="#{am}" itemLabel="#{am.nome}" /&gt;
					&lt;p:ajax update="data" /&gt;
				&lt;/p:selectOneMenu&gt;
			&lt;/div&gt;
		&lt;/p:fieldset&gt;

		&lt;p:fieldset legend="Consulta"&gt;
			&lt;div class="campo-grupo"&gt;
				&lt;h:outputLabel value="Data" /&gt;
				&lt;p:selectOneMenu id="data" converter="dataConversor"
					required="true" requiredMessage="A data é obrigatória"
					style="height: 23px; width: 335px;"
					value="#{consultaMedicaBean.dataSelecionada}"&gt;
					&lt;f:selectItem itemLabel="SELECIONE" itemValue=""
						noSelectionOption="true" /&gt;
					&lt;f:selectItems value="#{consultaMedicaBean.datas}" var="d"
						itemValue="#{d}" itemLabel="#{d}" /&gt;
					&lt;f:convertDateTime type="date" pattern="dd/MM/yyyy"/&gt;
				&lt;/p:selectOneMenu&gt;
			&lt;/div&gt;
		&lt;/p:fieldset&gt;
	&lt;/h:form&gt;[/code]

e o Bean,

public class ConsultaMedicaBean {
	private AgendaMedica agendaMedica;
	private List&lt;AgendaMedica&gt; agendasMedicas;
	private Consulta consulta;
	private List&lt;Date&gt; datas;
	private Date dataSelecionada;
	private Paciente paciente;
	private Profissional profissional;
	private List&lt;Profissional&gt; profissionais;
	public AgendaMedica getAgendaMedica() {
		return agendaMedica;
	}

	public void setAgendaMedica(AgendaMedica agendaMedica) {
		this.agendaMedica = agendaMedica;
	}

	public List&lt;AgendaMedica&gt; getAgendasMedicas() {
		AgendaMedicaRN agendaMedicaRN = new AgendaMedicaRN();
		agendasMedicas = agendaMedicaRN.listarAgendaMedica(profissional);
		return agendasMedicas;
	}

	public void setAgendasMedicas(List&lt;AgendaMedica&gt; agendasMedicas) {
		this.agendasMedicas = agendasMedicas;
	}

	public Consulta getConsulta() {
		return consulta;
	}

	public void setConsulta(Consulta consulta) {
		this.consulta = consulta;
	}

	public List&lt;Date&gt; getDatas() {
		AgendaMedicaRN agendaMedicaRN = new AgendaMedicaRN ();
		setDatas(agendaMedicaRN.buscarDatasDisponiveis(agendaMedica));
		return datas;
	}

	public void setDatas(List&lt;Date&gt; datas) {
		this.datas = datas;
	}

	public Date getDataSelecionada() {
		return dataSelecionada;
	}

	public void setDataSelecionada(Date dataSelecionada) {
		this.dataSelecionada = dataSelecionada;
	}

	public Paciente getPaciente() {
		return paciente;
	}

	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}

	public Profissional getProfissional() {
		return profissional;
	}

	public void setProfissional(Profissional profissional) {
		this.profissional = profissional;
	}

	public List&lt;Profissional&gt; getProfissionais() {
		ProfissionalRN profissionalRN = new ProfissionalRN();
		profissionais = profissionalRN.listarMedicos(ContextoUtil
				.getContextoBean().getUnidadeAtiva().getNome());
		return profissionais;
	}

	public void setProfissionais(List&lt;Profissional&gt; profissionais) {
		this.profissionais = profissionais;
	}


}