Nada pronto em Displaytag?

12 respostas
renatorudolf

Boa tarde,

Desculpem a ignorância, to começando agora em java pra web.

Estou tentando fazer com que minha displaytag formate a coluna data para dd/mm/yy;

Vo ter que criar uma classe e implementar com DisplaytagColumnDecorator ?

Num vem nada pronto dentro de dependencies e de displaytag.war; displaytag.jar; displaytag.tld ?

valew galera,

12 Respostas

diogoprosoft

faz assim:

<display:column title="Data">
      <fmt:formateDate value="${cliente.dataCadastro}" type="both" pattern="dd/MM/yyyy"/>
</display:column>
renatorudolf

Boa tarde Diogo,

Utilizo o eclipse, e no canto esquerdo fica um ponto de exclamação e qdo coloco pra rodar, da erro.

diogoprosoft

Você manja de JSTL?

Nesse display tag que passei a formatação é feita através de jstl da uma estudada que vc vai ver, de qualquer maneira o que faltou na sua página foi...

[code]
Importa lá em cima da página no

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

renatorudolf

Sim Diogo eu manjo,

Ja esta importado essas duas taglib como vc fez abaixo.
e mesmo assim ta osso.

diogoprosoft

Cara posta ai teu codigo e o erro que está dando

renatorudolf

vo tentar fazer uns negocios aqui c nao der coloco o codigo,

blz

renatorudolf

erro:

ype Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /lista-contatos-elegante.jsp at line 64

61:   <display:column property="dataNascimento" />
62:   
63:   <display:column title="dataNascimento">
64:       <fmt:formatDate value="${dao.dataNascimento.time}" type="both" pattern="dd/MM/yyyy" />
65:   </display:column>		
66:   		</c:forEach> 
67:  


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

javax.el.PropertyNotFoundException: Property 'dataNascimento' not found on type br.com.meuProjeto.jdbc.dao.ContatoDAO
	javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
	javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
	javax.el.BeanELResolver.property(BeanELResolver.java:279)
	javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	org.apache.el.parser.AstValue.getValue(AstValue.java:118)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
	org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspx_meth_fmt_005fformatDate_005f1(lista_002dcontatos_002delegante_jsp.java:559)
	org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspx_meth_display_005fcolumn_005f4(lista_002dcontatos_002delegante_jsp.java:528)
	org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspx_meth_c_005fforEach_005f1(lista_002dcontatos_002delegante_jsp.java:408)
	org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspx_meth_display_005ftable_005f0(lista_002dcontatos_002delegante_jsp.java:350)
	org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspService(lista_002dcontatos_002delegante_jsp.java:128)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

Codigo:

<% request.setAttribute( "Teste", dao.getLista() ); %> 

<display:table name="Teste" decorator="org.displaytag.sample.Wrapper" >  

		<c:forEach var="contato" items="${dao.lista}"> 
		
  <display:column property="nome" />  
  <display:column property="email" />  
  <display:column property="endereco" />  
  <display:column property="dataNascimento" />
  
  <display:column title="dataNascimento">
      <fmt:formatDate value="${dao.dataNascimento.time}" type="both" pattern="dd/MM/yyyy" />
  </display:column>		
  		</c:forEach> 
 
 </display:table>
diogoprosoft

Elimina essa linha

<display:column property="dataNascimento" />
diogoprosoft

Tem que dar uma olhada nessa linha tbm, acho que fica assim

<fmt:formatDate value="${contato.dataNascimento}" type="both" pattern="dd/MM/yyyy" />

Faz tempinho que não uso displaytag

C

Cara, nunca usei para datas por causa da estrutura da aplicação que ja tem as datas formatas no bean,

uso para formatação de valores, etc…

mas voce pode ver se funciona para datas… exemplo:

<display:column property="pesoItem" titleKey="comum.vocabulo.peso" format="{0,number,0.00} kg" class="number" />

Abs!

renatorudolf

Nada, mas quando faço:

<% request.setAttribute( "Teste", dao.getLista() ); %> 

<display:table name="Teste" >  

		<c:forEach var="contato" items="${dao.lista}"> 
		
  <display:column property="nome" />  
  <display:column property="email" />  
  <display:column property="endereco" />  
   <display:column property="dataNascimento" /> 
	
  		</c:forEach> 
 
 </display:table>

funciona normal com exceção da data.

diogoprosoft

eu faço assim:

<table width=100% border="0" cellpadding=1 cellspacing=1>
      	<display:table id="listRevisao" name="${listaRevisao}" requestURI="/sice/revisao.pesquisaRevisao.logic" pagesize="10">
	    	<display:column title="Placa">
				${listRevisao.moto.nrPlaca}
			</display:column>		  				  			
			<display:column title="Data" >
				<fmt:formatDate value="${listRevisao.dtCadastro}" type="both" pattern="dd/MM/yyyy"/>
			</display:column>
			<display:column title="Kilometragem">
				${listRevisao.nrKilometragem}
			</display:column>		  	  				
			<display:column title="Óleo">
				${listRevisao.nmProduto}
	 		</display:column> 				  	  				
		</display:table>
</table>

O que está acontecendo na verdade é você não está conseguindo pegar o valor de dentro da lista e não pode ter dois dispositivos ligados ao teu DAO com o mesmo nome na página por isso disse que vc deveria retirar um deles!!!

Criado 19 de maio de 2011
Ultima resposta 19 de mai. de 2011
Respostas 12
Participantes 3