E aew blz?
bom minha dúvida é o seguinte estou com problemas em converter a data q vem do banco de dados para mostrar na minha dataTable.
segue aqui minha JSP.
<h:column>
<f:facet name="header">
<h:outputText value="Publicado em"/>
</f:facet>
<h:outputText value="#{item.publicacao}" converter="converterDataSQL"></h:outputText>
</h:column>
meu Converter
public class ConverterDataSQL implements Converter {
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
String formatado = null;
if (value == null) {
return null;
}
Date date = null;
try {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
date = (Date) df.parse(value);
formatado = df.format(date);
} catch (ParseException e) {
throw new ConverterException("Data no Formato inválido! ");
}
return formatado;
}
public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException{
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = (Date) df.parse((String) value); // aqui está dando o erro
} catch (ParseException e) {
e.printStackTrace();
}
String formatado = df.format(date);
return formatado;
}
}
no faces.config.xml
<!-- CONVERSOR DE DATA SQL -->
<converter>
<converter-id>converterDataSQL</converter-id>
<converter-class>util.ConverterDataSQL</converter-class>
</converter>
java.lang.ClassCastException: java.sql.Date cannot be cast to java.lang.String
at util.ConverterDataSQL.getAsString(ConverterDataSQL.java:44)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:469)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:322)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:307)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:636)
Está dando esse erro nao sei o q pode ser. Porem o meu publicacao é do tipo Date. Se alguem puder me ajudar agradeço desde já abraços

