Problema para usar o DisplayTag

8 respostas
tiagofrutuoso

Boa noite a todos,

Gostaria de saber o porque esta dando o seguinte erro, quando eu estou tentando usar o displaytag no código abaixo:

<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<html>
<head>
	<title>Listagem de usuários</title>
	<link rel="stylesheet" type="text/css" href="css/style.css" />
	<link rel="stylesheet" href="css/portal.css" type="text/css" media="all" />
	<script type="text/javascript" src="js/tabber.js"></script>
</head>
<body>
	<%@ include file="../menu.jsp" %>
	<div class="tabber">
	     <div class="tabbertab">
			<h2>Lista de Usu&aacute;rios</h2>
			<display:table id="usuario" name="${usuarios}" requestURI="usuario.lista.logic">
				<display:column property="idusuario" sortable="true" />
				<display:column property="usulogin" />
				<display:column>
					<a href="usuario.editar.logic?usuario.idusuario=${usuario.idusuario}"><img class="botao" title="Editar" src="img/editar.jpg" onclick="usuario.editar.logic?usuario.idusuario=${usuario.idusuario}" /></a>
				</display:column>
				<display:column>
					<a href="usuario.remove.logic?usuario.idusuario=${usuario.idusuario}"><img class="botao" title="Remover" src="img/delete.gif" onclick="usuario.remove.logic?usuario.idusuario=${usuario.idusuario}" /></a>
				</display:column>
			</display:table>
	     </div>
	</div>
</body>
</html>

Quando vou abrir a pagina ele me da o sequinte erro:

Nothing found to display.

Alguem pode me ajudar???

Att,

Tiago Frutuoso

8 Respostas

denis_gariglio

E ai blz?
conseguiu resolver o problema, esta ocorrendo o mesmo comigo.

Abraços

tiagofrutuoso

Não Consegui ainda, já fiz de tudo para tentar resolver mais ainda nada, continua aparecendo a mesma mensagem "Nothing found to display. ".

Se você conseguir resolver, por favor ma passe uma solução.

Att,

J-Chist

Já verificou se sua lista está vindo populada? Essa mensagem que vocês estão recebendo é o default para lista vazia.

tiagofrutuoso

Vou verificar e dou uma resposta depois, até o momento, muito obrigado.

Att,

denis_gariglio

Cara, eu refiz do zero e funcionou.

Abaixo estou enviando os trechos de codigo que usei.

Web.xml

<taglib>
    	<taglib-uri>http://displaytag.org</taglib-uri>
    	<taglib-location>/WEB-INF/displaytag.tld</taglib-location>
	  </taglib>

JSP:

<%@ taglib uri="../WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="../WEB-INF/struts-html.tld" prefix="html"%> 
<%@ taglib uri="../WEB-INF/displaytag.tld" prefix="display" %>

<html> 
	<head>
	
        <meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />  
        <meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" />  
        <meta HTTP-EQUIV="Expires" CONTENT="0" /> 		
	
		<html:base/> 
		<link href="<html:rewrite page="/pages/img/Estilos.css" />" rel="stylesheet" type="text/css"> 

		<title>Relatório de consultas</title>
	</head>
	<body>
		<form >
		
			<logic:equal name="relatorio" value="analitico">
				<h2 align="center">Relatório de consultas</h2>
			</logic:equal>	
			<logic:equal name="relatorio" value="sintTer">
				<h2 align="center">Relatório de consultas sintético por terminal</h2>
			</logic:equal>	

			<br>

            <!-- Relatorio Analítico -->
			<logic:equal name="relatorio" value="analitico">
				<display:table cellspacing="2600" name="${lista}" pagesize="1000" export="true"
											requestURI="../pages/relgeral.jsp" style="tableLabel2" >
					<display:column property="terminal" title="Terminal" />
					<display:column property="cd" title="Autorização" />
					<display:column property="emissao" title="Emissao" />
					<display:column property="atendto" title="Atendimento"  />
					<display:column property="dtlibtiss" title="Emissao Tiss"  />
					<display:column property="usuario.codigo" title="Código do usuário" />
					<display:column property="usuario.nome" title="Usuário" />
					<display:column property="solicitante.codigo" title="Código do solicitante" />					
					<display:column property="solicitante.descricao" title="Solicitante" />
					<display:column property="especialidade.descricao" title="Especialidade" />
					<display:column property="status" title="Status" />
					<display:column property="tipo" title="Tipo" />				
					<display:column property="motivo.codigo" title="Motivo" />
					<display:column property="statusexport" title="Exp" />
					<display:column property="dataexport" title="Exportação" />
					<display:column property="dtlibsenha" title="Dt. Senha" />
					<display:column property="operador" title="Operador" />
					<display:column property="operadorcancel" title="Operador (cancel)" />								
					<display:column property="obs" title="OBS" />

					<display:setProperty name="export.excel.include_header" value="true" />
					<display:setProperty name="export.pdf" value="true" />
				</display:table>
			</logic:equal>

            <!-- Relatorio Sintético por Terminal -->
			<logic:equal name="relatorio" value="sintTer">
				<display:table cellspacing="100%" name="lista" pagesize="150" export="true"
											requestURI="../pages/relgeral.jsp" style="tableLabel2" >
					<display:column property="terminal" title="Terminal"  />
					<display:column property="relatorioItens.prestador.codigo" title="Codigo do prestador" />
					<display:column property="relatorioItens.prestador.descricao" title="Prestador" />					
					<display:column property="tipo" title="Tipo" />
					<display:column property="status" title="Status" />
					<display:column property="relatorioItens.qtde" title="Qtde" />

					<display:setProperty name="export.excel.include_header" value="true" />
					<display:setProperty name="export.pdf.include_header" value="true" />
				</display:table>
			</logic:equal>

			<table width="100%" >
				<tr> 
					<td>
						&nbsp;
					</td>
				</tr>
				<tr> 
					<td align="right">
						<input type="button" class="ButtonDefault" value="Voltar" onclick="javascript:history.back();">
					</td>
				</tr>
			</table>
		</form>
	<body>
</html>

Lembrando que inseri todas as libs e minha lista esta vindo populada.
Um site que me ajudou muito foi:

http://hotwork.sourceforge.net/hotwork/manual/displaytag/displaytag-user-guide.html#Instala%C3%A7%C3%A3o

Abraços

tiagofrutuoso

Segue abaixo os trechos do código

lista.ok.jsp

<%@ taglib uri="http://displaytag.sf.net" prefix="display" %> 
<html>
<head>
	<title>Listagem de usuários</title>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<link rel="stylesheet" href="css/portal.css" type="text/css" media="all" />
	<script type="text/javascript" src="js/tabber.js"></script>
</head>
<body>
	<%@ include file="../menu.jsp" %>
	<div class="tabber">
	     <div class="tabbertab">
			<h2>Lista de Usu&aacute;rios</h2>
			<display:table id="usuario" name="${usuarios}" requestURI="usuario.lista.logic">
				<display:column property="idusuario" sortable="true"></display:column>
				<display:column property="usulogin"></display:column>
				<display:column>
					<a href="usuario.editar.logic?usuario.idusuario=${usuario.idusuario}"><img class="botao" title="Editar" src="img/editar.jpg" onclick="usuario.editar.logic?usuario.idusuario=${usuario.idusuario}" /></a>
				</display:column>
				<display:column>
					<a href="usuario.remove.logic?usuario.idusuario=${usuario.idusuario}"><img class="botao" title="Remover" src="img/delete.gif" onclick="usuario.remove.logic?usuario.idusuario=${usuario.idusuario}" /></a>
				</display:column>
			</display:table>
	     </div>
	</div>
</body>
</html>

Usuario.logic

package br.com.tjttecnologia.logic;

import java.util.List;

import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.plugin.hibernate.Validate;

import br.com.tjttecnologia.dao.DaoFactory;
import br.com.tjttecnologia.loja.DaoInterceptor;
import br.com.tjttecnologia.modelo.Role;
import br.com.tjttecnologia.modelo.Usuario;

@Component("usuario")
@InterceptedBy({AutorizadorInterceptor.class, DaoInterceptor.class})
public class UsuarioLogic {

	private final DaoFactory daoFactory;
	private Usuario usuario;
	private List<Usuario> usuarios;
	
	public List<Usuario> getUsuarios() {
		return usuarios;
	}
	
	public void lista() {
		usuarios = this.daoFactory.getUsuarioDao().listaTudo();
	} 

	public UsuarioLogic(DaoFactory daoFactory) {
		this.daoFactory = daoFactory;
	}
	
	//adiciona um usuario
	@Role("admin")
	public void adiciona(Usuario usuario) {
		// ... logica de adicionar no banco aqui...
		this.daoFactory.beginTransaction();
		this.daoFactory.getUsuarioDao().adiciona(usuario);
		this.daoFactory.commit();
		//System.out.println("Adiciona usuario");
	}
	
	//formulario para adicao
	public void formulario() {
		
	}
	
	//formulario para edicao
	public void editar(Usuario usuario) {
		//carrega os dados no banco para edicao
		this.usuario = this.daoFactory.getUsuarioDao().procura(usuario.getIdusuario());
	}
	
	//Adiciona um novo usuario ou atualiza se for edição
	@Role("admin")
	@Validate(params={"usuario"})
	public void armazena (Usuario usuario) {
		this.daoFactory.beginTransaction();
		this.daoFactory.getUsuarioDao().atualiza(usuario);
		this.daoFactory.commit();
	}

	//getter pro usuario
	public Usuario getUsuario() {
		return usuario;
	}
	
}

UsuarioDao.java

package br.com.tjttecnologia.dao;

import org.hibernate.Query;
import org.hibernate.Session;

import br.com.tjttecnologia.modelo.Usuario;

public class UsuarioDao extends Dao<Usuario> {
	
	public UsuarioDao(Session session) {
		super(session, Usuario.class);
	}
	
	public Usuario existeUnico(Usuario usuario) {
		String hql = "select u from Usuario as u where u.usulogin = :usulogin and u.ususenha = :ususenha ";
		Query query = getSession().createQuery(hql);
		query.setParameter("usulogin", usuario.getUsulogin());
		query.setParameter("ususenha", usuario.getUsusenha());
		return (Usuario) query.uniqueResult();
	}
}

No banco de dados tem 4 usuarios cadastrados, será que esta errado UsuarioDao.java, para buscar os usuarios no BD???

denis_gariglio

Vc chegou a verificar no log se mostra erro na consulta?

[]s

tiagofrutuoso

No console só esta aparecendo isso.

14:36:50,125 DEBUG SessionImpl:247 - opened session at timestamp: [telefone removido]

14:36:50,140 DEBUG AbstractBatcher:410 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)

14:36:50,140 DEBUG ConnectionManager:444 - opening JDBC connection

14:36:50,140 DEBUG SQL:111 -

select

this_.idusuario as idusuario0_0_,

this_.role as role0_0_,

this_.usucelular as usucelular0_0_,

this_.usucomplementos as usucompl4_0_0_,

this_.usucpf as usucpf0_0_,

this_.usuemail as usuemail0_0_,

this_.usuendereco as usuender7_0_0_,

this_.usuhabilitado as usuhabil8_0_0_,

this_.usulogin as usulogin0_0_,

this_.usumudarsenha as usumuda10_0_0_,

this_.usunome as usunome0_0_,

this_.usunumero as usunumero0_0_,

this_.usurg as usurg0_0_,

this_.ususenha as ususenha0_0_,

this_.usutelefone as usutele15_0_0_

from

Usuario this_

Hibernate:

select

this_.idusuario as idusuario0_0_,

this_.role as role0_0_,

this_.usucelular as usucelular0_0_,

this_.usucomplementos as usucompl4_0_0_,

this_.usucpf as usucpf0_0_,

this_.usuemail as usuemail0_0_,

this_.usuendereco as usuender7_0_0_,

this_.usuhabilitado as usuhabil8_0_0_,

this_.usulogin as usulogin0_0_,

this_.usumudarsenha as usumuda10_0_0_,

this_.usunome as usunome0_0_,

this_.usunumero as usunumero0_0_,

this_.usurg as usurg0_0_,

this_.ususenha as ususenha0_0_,

this_.usutelefone as usutele15_0_0_

from

Usuario this_

14:36:50,156 DEBUG AbstractBatcher:426 - about to open ResultSet (open ResultSets: 0, globally: 0)

14:36:50,156 DEBUG Loader:1197 - result row: EntityKey[br.com.tjttecnologia.modelo.Usuario#1]

14:36:50,156 DEBUG Loader:1197 - result row: EntityKey[br.com.tjttecnologia.modelo.Usuario#2]

14:36:50,156 DEBUG Loader:1197 - result row: EntityKey[br.com.tjttecnologia.modelo.Usuario#4]

14:36:50,156 DEBUG Loader:1197 - result row: EntityKey[br.com.tjttecnologia.modelo.Usuario#9]

14:36:50,156 DEBUG AbstractBatcher:433 - about to close ResultSet (open ResultSets: 1, globally: 1)

14:36:50,156 DEBUG AbstractBatcher:418 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)

14:36:50,156 DEBUG TwoPhaseLoad:130 - resolving associations for [br.com.tjttecnologia.modelo.Usuario#1]

14:36:50,156 DEBUG TwoPhaseLoad:226 - done materializing entity [br.com.tjttecnologia.modelo.Usuario#1]

14:36:50,156 DEBUG TwoPhaseLoad:130 - resolving associations for [br.com.tjttecnologia.modelo.Usuario#2]

14:36:50,156 DEBUG TwoPhaseLoad:226 - done materializing entity [br.com.tjttecnologia.modelo.Usuario#2]

14:36:50,156 DEBUG TwoPhaseLoad:130 - resolving associations for [br.com.tjttecnologia.modelo.Usuario#4]

14:36:50,156 DEBUG TwoPhaseLoad:226 - done materializing entity [br.com.tjttecnologia.modelo.Usuario#4]

14:36:50,156 DEBUG TwoPhaseLoad:130 - resolving associations for [br.com.tjttecnologia.modelo.Usuario#9]

14:36:50,156 DEBUG TwoPhaseLoad:226 - done materializing entity [br.com.tjttecnologia.modelo.Usuario#9]

14:36:50,156 DEBUG StatefulPersistenceContext:860 - initializing non-lazy collections

14:36:50,156 DEBUG ConnectionManager:427 - aggressively releasing JDBC connection

14:36:50,171 DEBUG ConnectionManager:464 - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
Criado 20 de maio de 2009
Ultima resposta 17 de set. de 2009
Respostas 8
Participantes 3