Vraptor 3 não retornar uma List

6 respostas
N

Boa noite galera
Estou com um errinho aqui... =)

Meu lista.jsp

<h1>Usuários</h1>
        
<table id="usuario" name="${usuarios}" requestURI="lista">

  <column property="id" sortable="true"/>
  <column property="login" />
</table>

Meu UsuarioController

package br.com.scriptseguro.loja.controller;

import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.scriptseguro.loja.dao.DaoFactory;
import br.com.scriptseguro.loja.modelo.Usuario;
import java.util.List;


@Resource
public class UsuarioController {
	
        private final DaoFactory dao;
        private List<Usuario> usuarios;

        public UsuarioController(DaoFactory dao) {
            this.dao = dao;
        }

        @Post
	@Path("/usuario/adiciona")
       public void adiciona (Usuario usuario) {
            this.dao.beginTransaction();
            this.dao.getUsuarioDao().adiciona(usuario);
            this.dao.commit();

            // ... logica de adicionar no banco aqui ...
            System.out.println("Adiciona usuario ");
      }
        
	@Path ("/usuario/formulario")
        public void formulario() {
	}

      public List<Usuario> getUsuarios() {
      return usuarios;
      }

      @Path ("/usuario/lista")
      public void lista () {
      usuarios = this.dao.getUsuarioDao().listaTudo();

}
}

Se eu execulto por exemplo meu main

import java.util.List;

import br.com.scriptseguro.loja.dao.DaoFactory;
import br.com.scriptseguro.loja.dao.Dao;
import br.com.scriptseguro.loja.modelo.Usuario;


public class TestaUsuario {
	public static void main(String[] args) {
	      Dao dao = new DaoFactory().getUsuarioDao();

          // lista usuarios
          List<Usuario> lista = dao.listaTudo();
          for (Usuario usuario : lista) {
                System.out.println(usuario.getLogin());
          }
          
        }
      }

Retorna os usuarios mais para pagina web não estou conseguindo =/

[]'s

6 Respostas

Lucas_Cavalcanti

No VRaptor3 o jeito de retornar coisas pra view não é por getters…

vc pode retornar no método direto:

@Path ("/usuario/lista")  // essa linha não é necessária. Isso  é a convenção do VRaptor
public List<Usuario> lista () {  
      return this.dao.getUsuarioDao().listaTudo();  
}

e no jsp, o retorno do método vai estar disponível na variável:

${usuarioList}

Vc deve ter vindo do VRaptor 2, já deu uma olhada nessa página?:
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/

N

Boa note Lucas.

To apanhando um pouco sim devido estar migrando estou usando a apostila da caulem na versao Vraptor 2 para escrever os scripts para o netbeans com Vraptor 3… deu um trabalhinho chegar até onde cheguei. Estou estudando 4 horas por dia no minimo desde senguda feira…

Bom o seu post me ajudou a recuperar os dados… saberia me dizer como posso fazer um “for” por exemplo para lista os usuarios?

O retorno foi:

<table id=“usuario” name="[br.com.scriptseguro.loja.modelo.Usuario@6597d1, br.com.scriptseguro.loja.modelo.Usuario@a34435, br.com.scriptseguro.loja.modelo.Usuario@d30557, br.com.scriptseguro.loja.modelo.Usuario@39954, br.com.scriptseguro.loja.modelo.Usuario@479446]" requestURI=“lista”>

abraços…

N

Ebaaa.. após algumas horas.... de constulta consegui criar a tabela... =)

Segue ai o script para os iniciantes como eu... =)

&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;

&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;

&lt;html&gt;
	&lt;head&gt;
		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
		&lt;title&gt;http://wbotelhos.wordpress.com&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
		<a >Adicionar</a><br/>

		&lt;table&gt;
			&lt;thead&gt;
				&lt;tr&gt;
					&lt;th&gt;Nome&lt;/th&gt;
					&lt;th&gt;Senha&lt;/th&gt;
					&lt;th&gt;E-mail&lt;/th&gt;
				&lt;/tr&gt;
			&lt;/thead&gt;
			&lt;tbody&gt;
				&lt;c:forEach items="${usuarioList}" var="lista"&gt;
					&lt;tr&gt;
						&lt;td&gt;${lista.id}&lt;/td&gt;
						&lt;td&gt;${lista.login}&lt;/td&gt;
						&lt;td&gt;${lista.senha}&lt;/td&gt;
						&lt;td&gt;
							&lt;form action="&lt;c:url value='/usuario'/&gt;" method="post"&gt;
								&lt;input type='hidden' name='_method' value='PUT'/&gt;
								&lt;input type='hidden' name='usuario.id' value='${item.id}'/&gt;
								&lt;input type="submit" value="Editar"/&gt;
							&lt;/form&gt;
						&lt;/td&gt;
						&lt;td&gt;
							&lt;form action="&lt;c:url value='/usuario'/&gt;" method="post"&gt;
								&lt;input type='hidden' name='_method' value='DELETE'/&gt;
								&lt;input type='hidden' name='usuario.id' value='${item.id}'/&gt;
								&lt;input type="submit" value="Excluir"/&gt;
							&lt;/form&gt;
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/c:forEach&gt;
			&lt;/tbody&gt;
		&lt;/table&gt;
	&lt;/body&gt;
&lt;/html&gt;

Obs.: achei no blog do http://wbotelhos.wordpress.com

juniorsatanas

nb-master Bom dia !
Eu uso VRaptor2 e JSF, estou estudando VR3 2 horas por dia… para iniciar em Fevereiro um projeto novo de delphi para Web…

Poderia mandar teu projeto de estudo para mim ? : [email removido]

ou postar os fontes aqui !

Acho que vai ajudar muita gente !

Abraço !

N

Eu tenho estudado 4hrs por dia… =)

te add no msn [email removido]

te mando por lá quando tiver em casa…

até…

juniorsatanas

[email removido]

gaim… msn

abraço !

Criado 12 de dezembro de 2009
Ultima resposta 8 de jan. de 2010
Respostas 6
Participantes 3