DisplayTags[Mapeamento]

13 respostas
Ironlynx

Pessoal, como vcs "instalam" a displaytag no servidor de vocês?
Uso o Tomcat 5.5.16 e ele não quer "ver" de forma nenhuma… meu
web xml:

<blockquote>

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app>

<description>AGERIS -Aplicativo de Gerência de Riscos Seguráveis</description>	

<listener>

<listener-class>funcoge.control.FuncogeListener</listener-class>

</listener>

<taglib>

<taglib-uri><a href="http://displaytag.org">http://displaytag.org</a></taglib-uri>

<taglib-location>/WEB-INF/displaytag.tld</taglib-location>

</taglib>  			

</web-app></blockquote>

Tudo funciona ok, mas na parte de listar(que eu uso as display tags) é erro 500 toda hora…

13 Respostas

fabeen

Mostra aí pra gente qual a Exceção que ele está lançando …

Ironlynx
Mostra aí pra gente qual a Exceção que ele está lançando ....
Não há exceção(nem nos logs).É apenas aquela página de erro interno do servidor.Minha (hardcoded hehe) jsp de listagem:
<%@ page language="java" import="funcoge.bo.*,java.util.*,org.prevayler.*,java.text.SimpleDateFormat;" errorPage="cadastro-vazio.jsp" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<% Prevayler prevayler=(Prevayler)this.getServletContext().getAttribute("prevayler");
AgerisSystem as=(AgerisSystem)prevayler.prevalentSystem();
Usuario usuario=(Usuario)session.getAttribute("usuario");
ArrayList listaDeRamos=as.getRamosCadastradosPorUsuario(usuario);
request.setAttribute("ramoseg",listaDeRamos); %>
<html><head><title>Pesquisa em Ramos de Seguro</title></head>
<body><h2>Exibindo Ramos de Seguro Cadastrados:</h2>
<display:table name="ramoseg" pagesize="10">
  <display:column property="id_tiposeg" title="ID Tiposeg" />
  <display:column property="inicio" title="Data de Cadastro" />
  <display:column property="impo_segurada" title="Valor Segurado"/>
  <display:column property="premio" title="Prêmio do Seguro"/>
  <display:column property="id_seguradora" title="Seguradora"/>
  <display:column property="id_cobertura" title="Cobertura"/>
  <display:column property="corretagem" title="Valor Corretagem"/>
  <display:column property="lmi" title="Limite de Indenização"/>
  <display:column property="patrimonio_liq" title="Patrimônio Líquido"/>
  <display:column property="empresa" title="Empresa"/> 
</display:table>
<center><input name="submit" type="button" value="Voltar" onClick="escolhe-ramo.jsp"><input name="submit" type="button" value="Sair" onClick="javascript:window.close()"></center>
</body></html>
Antes q pergunte eu já verifiquei e os dados estão ok!
Pedrosa

Vc consegue percorrer essa lista que joga no request né?, os jars da taglib estão todos ok?.

Tente usar assim:

<display:table name="ramoseg" pagesize="10">
</display:table>

Desse jeito irá trazer todos os campos da sua lista, caso funcione pode ser algum nome desses propertys errado:

<display:column property=“id_tiposeg” title=“ID Tiposeg” />

O seu erro é na hora de listar a primeira vez ou na paginação?

keller

Nao há nada mapeado aqui no web.xml

Eu uso apenas no taglibs.jsp o seguinte

&lt;%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %&gt;

Ai voce ja tem o standard.jar e o jstl.jar no classpath
pois dentro do Jar da displaytag tem o tld. O tomcat se vira…

[]s

Ironlynx

O seu erro é na hora de listar a primeira vez ou na paginação?

Na hora de listar a primeira vez!!!

Ai voce ja tem o standard.jar e o jstl.jar no classpath

Tem que ter a jstl no classpath???

Tô lendo esse aqui:
http://hotwork.sourceforge.net/hotwork/manual/displaytag/displaytag-user-guide.html

E não diz nada disso!
Eu tenho essas:

Pedrosa

Nos meus projetos eu uso esses jars:

commons-beanutils.jar
commons-collections.jar
commons-lang-2.0.jar
commons-logging.jar
displaytag-1.0.jar
jstl.jar
servlet-api.jar
standard.jar

O standard.jar precisa com certeza mas o jstl caso use o mesmo, o que é uma boa prática atualmente.

Ironlynx

Tô fazendo uns testes aqui, Pedrosa, o conteúdo de:

ArrayList listaDeRamos=as.getRamosCadastradosPorUsuario(usuario);

É esse:
Imprimindo Ramo Cadastrado:funcoge.bo.RamoDeSeguro@513d61
(OBS.:Só há um RamoDeSeguro cadastrado!)
Será que eu estou tendo problemas de request???
Será que rola algum problema com a minha ListenerClass???

[size=7]Pauuuulo Silveira!Vc que saca tudo do Tomcat!!!Onde está vc!!!hauhauha…[/size] :lol:

fabeen

se os jar estiverem ok, os tld´s dentro de /WEB-INF/ , tente ao nvés de usar

<%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>

force assim :

<%@ taglib uri="/WEB-INF/displaytag-12.tld" prefix="display" %>
keller

Ironlynx:
Tô fazendo uns testes aqui, Pedrosa, o conteúdo de:

ArrayList listaDeRamos=as.getRamosCadastradosPorUsuario(usuario);

É esse:
Imprimindo Ramo Cadastrado:funcoge.bo.RamoDeSeguro@513d61
(OBS.:Só há um RamoDeSeguro cadastrado!)
Será que eu estou tendo problemas de request???
Será que rola algum problema com a minha ListenerClass???

[size=7]Pauuuulo Silveira!Vc que saca tudo do Tomcat!!!Onde está vc!!!hauhauha…[/size] :lol:

Cara, eu passo a interface nao passo a implementacao para o DisplayTag.

List listaDeRamos = as.getRamosCadastradosPorUsuario(usuario);
Ironlynx
gui,Pedrosa, fabeen valeu pela ajuda, mas já descobri que o erro não é da display tag!Nessa página feita para listar com checkboxes dah o mesmo erro:
&lt;%@ page language="java" import="funcoge.bo.*,java.util.*,org.prevayler.*,java.text.SimpleDateFormat;" errorPage="cadastro-vazio.jsp" %&gt;
&lt;% Prevayler prevayler=(Prevayler)this.getServletContext().getAttribute("prevayler");
AgerisSystem as=(AgerisSystem)prevayler.prevalentSystem();
Usuario usuario=(Usuario)session.getAttribute("usuario");
RamoDeSeguro[] ramosDoUsuario=as.getRamosNaLista(usuario);
 %&gt;
&lt;html&gt;&lt;body&gt;  &lt;h3&gt;Escolha um Ramo para prosseguir com a operação:&lt;/h3&gt;

&lt;form method="POST" action="concluir-atualizar-ramo.jsp"&gt;
&lt;table border=0&gt;&lt;caption&gt;Selecione a opção:&lt;/caption&gt;
&lt;tr&gt;&lt;th&gt;&lt;th&gt;&lt;th&gt;Tipo de Seguro&lt;/th&gt;&lt;th&gt; Data &lt;/th&gt;&lt;th&gt; Valor&lt;/th&gt;&lt;th&gt; Prêmio&lt;/th&gt;&lt;th&gt; Seguradora&lt;/th&gt;&lt;th&gt; Cobertura&lt;/th&gt;&lt;th&gt; Corretagem&lt;/th&gt;&lt;th&gt; LMI&lt;/th&gt;&lt;th&gt;Patrimonio Líquido &lt;/th&gt;&lt;/tr&gt;

&lt;% RamoDeSeguro rds = null;
for (int i = 0; i &lt; ramosDoUsuario.length; i++) {
	rds = ramosDoUsuario[i];	
	if ((rds.getEmpresa()).equals(usuario.getEmpresa())){
	%&gt;
		&lt;tr&gt;&lt;th&gt;&lt;input type="checkbox" name="ramo" value="&lt;%= rds.getID()%&gt;"&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getId_tiposeg()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getInicio()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getImpo_segurada()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getPremio()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getId_seguradora()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getId_cobertura()%&gt;&lt;/th&gt;
		&lt;th&gt;&lt;%=rds.getCorretagem()%&gt;&lt;/th&gt;
        &lt;th&gt;&lt;%=rds.getLmi()%&gt;&lt;/th&gt;
        &lt;th&gt;&lt;%=rds.getPatrimonio_liq()%&gt;&lt;/th&gt;
		&lt;/tr&gt;
	&lt;% 
	}
}
%&gt;
&lt;/table&gt;&lt;center&gt;&lt;input type="submit" value="Prosseguir"&gt;&lt;/center&gt;
&lt;/form&gt;&lt;/body&gt;&lt;/html&gt;
DETALHES: as não está nulo.O objeto prevayler tb não está e ramosDoUsuario tb não! Eu detesto esses erros "POLTERGEIST"... :evil: :roll:
Pedrosa

Tente passar esses requests por alguma servlet ou no controller caso use algum framework, não é legal ter nehum código java aqui na view

<%@ page language="java" import="funcoge.bo.*,java.util.*,org.prevayler.*,java.text.SimpleDateFormat;" errorPage="cadastro-vazio.jsp" %>
 <% Prevayler prevayler=(Prevayler)this.getServletContext().getAttribute("prevayler");
 AgerisSystem as=(AgerisSystem)prevayler.prevalentSystem();
 Usuario usuario=(Usuario)session.getAttribute("usuario");
 RamoDeSeguro[] ramosDoUsuario=as.getRamosNaLista(usuario);
  %>
Ironlynx

Tente passar esses requests por alguma servlet ou no controller caso use algum framework, não é legal ter nehum código java aqui na view
Eu sei(e geralmente uso FrontController e Commands isolando as coisas), mas comecei a ter uns erros difíceis de mapear, e preciso do protótipo rodando o mais rápido possível, fiz essa “Gambiarra de código” para poupar tempo…
Engraçado que eu mudei o protótipo para Prevayler(a outra versão era mysql e a final será mysql) pela facilidade de identificar os erros… :roll:

K

Ironlynx:
O seu erro é na hora de listar a primeira vez ou na paginação?

Na hora de listar a primeira vez!!!

Ai voce ja tem o standard.jar e o jstl.jar no classpath

Tem que ter a jstl no classpath???

Tô lendo esse aqui:
http://hotwork.sourceforge.net/hotwork/manual/displaytag/displaytag-user-guide.html

E não diz nada disso!
Eu tenho essas:


commons-logging.jar
[size=24][color=darkred]commons-lang.jar (versão 2.0) [/color][/size]
commons-collections.jar
commons-beanutils.jar
log4j.jar

ONDE ACHO ISSO???

Criado 1 de agosto de 2006
Ultima resposta 4 de fev. de 2008
Respostas 13
Participantes 5