RichFaces:Calendar + GregorianCalendar Erro em conversão de data

2 respostas
Marky.Vasconcelos

Eu tenho o seguinte problema no meu Bean eu tenho um GregorianCalendar e na jsp eu uso o richfaces com a tag calendar, antes funcionava com java.util.Date, agora fala que não dar cast de GregorianCalendar para Date

Existe um solução para isso? Ou tenho que ter um objeto Date temporário só pra setar o GregorianCalendar depois?Fora que os métodos de Date estão depreciados.

Aqui estão os arquivos (resumidos)

Bean.java

import java.util.GregorianCalendar;

public class Bean {
	private GregorianCalendar data;
	public Bean() {
		data = new GregorianCalendar();
	}

	public GregorianCalendar getData() {
		return data;
	}

	public void setData(GregorianCalendar data) {
		this.data = data;
	}
	
	public String getDataText(){
		return data.get(GregorianCalendar.DATE)+"/"+(data.get(GregorianCalendar.MONTH)+1)+"/"+data.get(GregorianCalendar.YEAR);
	}

}

page.jsp

<f:view>
	<h:form>
		<rich:panel header="Calendar">
			<rich:calendar datePattern="dd/MM/yyyy" value="#{bean.data}">
			</rich:calendar>
			<br>
			&lt;h:outputText id="data" value="#{bean.dataText}"&gt;
			&lt;/h:outputText&gt;
		&lt;/rich:panel&gt;
	&lt;/h:form&gt;
&lt;/f:view&gt;

O erro

java.lang.ClassCastException: java.util.GregorianCalendar cannot be cast to java.util.Date org.richfaces.renderkit.CalendarRendererBase.getSelectedDate(CalendarRendererBase.java:372) org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:225) org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:436) org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:135) ....

2 Respostas

kissdemon

Faltou o getTime:

<rich:calendar datePattern="dd/MM/yyyy" value="#{bean.data.time}">

[]´s

Carlos

Marky.Vasconcelos

Muito obrigado era exatamente o que eu queria.

Criado 13 de novembro de 2007
Ultima resposta 14 de nov. de 2007
Respostas 2
Participantes 2