Problema com pattern="dd/MM/yyyy" no BD (p:calendar)

Pessoal, estou usando o p:calendar para escolher a data.

	<h:outputText value="Data:"/> 
				<p:calendar value="#{ocorrenciaBean.ocorrencia.dataHora}"    
                id="campo-dtNascimento" showOn="button"  pattern="dd/MM/yyyy"  locale="pt_BR"/> 

O formato na hora de escolher ta certinho, todo em português e tal. O problema eh no banco,
qnd a data vai p o banco, ela vai desse jeito: 2013-09-02 00:00:00

Qnd eu escolheo no p:calendar ela fica correta, no formato dd/MM/yyyy ex: 03/09/2013

Qnd eu vou listar na aplicacao a data aparece desse jeito tb: 2013-09-02 00:00:00

O q fazer ?

[]'s

amigo,você tem que formatar ela na saida também,e se quiser mostrar ela formatada no banco,tem que formatar no banco também…

tentei fazer isso:


		SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
		String df = formatador.format(ocorrencia.getDataHora());
		
		ocorrencia.setDataHora(df);

Mudei o campo p string (na classe e no banco). Nao ta funcionando, ta dando esse erro:

javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: Cannot format given Object as a Date
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
at javax.faces.component.UICommand.broadcast(UICommand.java:311)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at requisicao.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:344)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:110)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:98)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:95)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:55)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:36)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:150)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(DateFormat.java:281)
at java.text.Format.format(Format.java:140)
at viatura.web.OcorrenciaBean.salvar(OcorrenciaBean.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)
… 52 more

Com o campo data Em string (na classe e no banco), a data ta saindo do seguinte jeito: Thu Sep 05 00:00:00 GMT-03:00 2013

Vou voltar p date (na classe e no banco) q tava saindo assim: yyyy/mm/dd

Entao preciso fazer isso aqui: Converter yyyy/mm/dd para dd/mm/yyyy (date de date ).

Alguem tem um exemplo ? Sempre vejo string no meio disso, e com string n ta dando muito certo.

brother,tem o input que você coloca a data dd/MM/yyyy certo?
ela entra no banco em formato ingles certo?
na pagina que você quiser mostrar ela,você formata denovo,do mesmo modo que você formatou a entrada,você também formata a saida.
lááá na pagina entendeu brother?

<h:outputText value="#{jogador.dataDeNascimento.time}" > <f:convertDateTime pattern="dd/MM/yyyy" /> </h:outputText>
troque o jogador.dataDeNascimento.time pelo atributo data da sua classe :smiley:

[quote=Slow17]brother,tem o input que você coloca a data dd/MM/yyyy certo?
ela entra no banco em formato ingles certo?
na pagina que você quiser mostrar ela,você formata denovo,do mesmo modo que você formatou a entrada,você também formata a saida.
lááá na pagina entendeu brother?[/quote]

Entendi brow… Coloquei de novo como Date (na classe e no banco) !

Fiz o q vc flw na saída:


<p:column  width="20%" style="white-space:normal !important;">
				<f:facet name="header">Data</f:facet>
			    <h:outputText value="#{via.dataHoraOcorrencia}">
			    	<f:convertDateTime pattern="dd/MM/yyyy" />  
			    </h:outputText>
			</p:column>

Ainda nao esta listando como deveria, ta listando assim:

2013-09-12 00:00:00.0

No banco ta assim: 2013-09-12

coloca assim pra ver se vai

<p:column width="20%" style="white-space:normal !important;"> <f:facet name="header">Data</f:facet> <h:outputText value="#{via.dataHoraOcorrencia.time}"> <f:convertDateTime pattern="dd/MM/yyyy" /> </h:outputText> </p:column>
coloca o .time

[quote=Slow17]coloca assim pra ver se vai

<p:column width="20%" style="white-space:normal !important;"> <f:facet name="header">Data</f:facet> <h:outputText value="#{via.dataHoraOcorrencia.time}"> <f:convertDateTime pattern="dd/MM/yyyy" /> </h:outputText> </p:column>
coloca o .time[/quote]

Coloquei o .time, agora ta dando erro qnd abro a pagina…

@36,61 value="#{via.dataHoraOcorrencia.time}": Property ‘time’ not found on type java.lang.String