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

8 respostas
T

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

8 Respostas

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…

T

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
T

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.

S

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?

S

<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:

T

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?

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

S

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

T

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

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

Criado 3 de setembro de 2013
Ultima resposta 4 de set. de 2013
Respostas 8
Participantes 2