GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Listar com Struts2
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
21/10/2011 21:24:33
Assunto:
Listar com Struts2
JoaoMarques
JavaTeenager
Membro desde: 04/07/2011 08:46:30
Mensagens: 164
Offline
Estou com um problema sério para listar com Struts 2 .
Ele gera um erro , falando que a minha action não existe.
Gerando o 404.
Segue os códigos :
TarefaDAO
package br.com.cfr.jdbc.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import br.com.cfr.jdbc.ConnectionFactory; import br.com.cfr.jdbc.modelo.Tarefa; public class TarefaDAO { Connection connection; public TarefaDAO() throws ClassNotFoundException{ this.connection = new ConnectionFactory().getConnection(); } public void adiciona (Tarefa tarefa){ String sql = "insert into tab_tar (descricao , finalizado) value(?,?)"; try { PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, tarefa.getDescricao()); stmt.setString(2, tarefa.getFinalizado()); stmt.execute(); stmt.close(); } catch (SQLException e){ throw new RuntimeException (e); } } public List<Tarefa> lista() { try { List<Tarefa> tarefas = new ArrayList<Tarefa>(); PreparedStatement stmt = this.connection.prepareStatement("select * from tab_tar"); ResultSet rs = stmt.executeQuery(); while (rs.next()){ Tarefa tarefa = new Tarefa(); tarefa.setId(rs.getLong("id")); tarefa.setDescricao(rs.getString("descricao")); tarefa.setFinalizado(rs.getString("finalizado")); Calendar data = Calendar.getInstance(); data.setTime(rs.getDate("dataFinalizacao")); tarefa.setDataFinalizacao(data); tarefas.add(tarefa); } rs.close(); stmt.close(); return tarefas; } catch (SQLException e) { throw new RuntimeException(e); } } public void remove(Tarefa tarefa) { try { PreparedStatement stmt = connection.prepareStatement("delete from tab_tar where id=?"); stmt.setLong(1, tarefa.getId()); stmt.execute(); stmt.close(); } catch (SQLException e) { throw new RuntimeException(e); } } public void altera(Tarefa tarefa){ String sql = "update tab_tar set descricao=?, finalizado=? where id=?"; try { PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1,tarefa.getDescricao() ); stmt.setString(2, tarefa.getFinalizado()); stmt.setLong(3, tarefa.getId()); stmt.execute(); stmt.close(); } catch (SQLException e) { throw new RuntimeException(e); } } }
Action
package br.com.cfr.action; import java.util.List; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; import br.com.cfr.jdbc.dao.TarefaDAO; import br.com.cfr.jdbc.modelo.Tarefa; public class ListaTarefasAction { private List<Tarefa> tarefas; @Action(value="lista" , results = { @Result(name="ok" , location ="lista-tarefas.jsp") }) public String execute() throws ClassNotFoundException { tarefas = new TarefaDAO().lista(); return "ok"; } public List<Tarefa> getTarefas() { return tarefas; } } }
e a JSP :
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <html> <body> <a href="formulario-tarefas">Criar nova tarefa</a> <br /> <br /> <table> <tr> <th>Id</th> <th>Descrição</th> <th>Finalizado</th> <th>Data de finalização</th> </tr> <c:forEach items="${tarefas}" var="tarefa" > <tr> <td>${tarefa.id}</td> <td>${tarefa.descricao}</td> <td>${tarefa.finalizado}</td> <td><fmt:formatDate value="${tarefa.dataFinalizacao.time}" pattern="dd/MM/yyyy"/> </td> </tr> </c:forEach> </table> </body> </html>
Se alguém souber , muito obrigado .
22/10/2011 07:47:46
Assunto:
Re:Listar com Struts2
JoaoMarques
JavaTeenager
Membro desde: 04/07/2011 08:46:30
Mensagens: 164
Offline
UP UP UP
22/10/2011 08:17:58
Assunto:
Re:Listar com Struts2
arthurgon
Java Ninja
Membro desde: 05/02/2007 00:57:43
Mensagens: 284
Localização: são paulo
Offline
Tentou debugar a action? Cola o erro que está vindo no console.
Arthur G. Gomes Jr.
Analista Java Sênior
22/10/2011 08:54:02
Assunto:
Re:Listar com Struts2
JoaoMarques
JavaTeenager
Membro desde: 04/07/2011 08:46:30
Mensagens: 164
Offline
Então está MUITO estranho oque está acontecendo .
Ele estava dando uns erros , então eu resolvi testar algo , eu acessava
http://localhost:8081/CFR/listaTarefas
igual oque a apostila pede.
E sempre gerava o 500 .
Eu resolvi EXCLUIR a action e o JSP , e resolvi acessar o link ELE CONTINOU COM O MESMO ERRO.
Como pode isso acontecer????????
Eu não tenho mais a action !
Segue o erro :
java.lang.RuntimeException: java.sql.SQLException: Column 'Tarefa' not found.
br.com.cfr.jdbc.dao.TarefaDAO.lista(TarefaDAO.java:73)
br.com.cfr.action.ListaTarefasAction.execute(ListaTarefasAction.java:20)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
OBS: EU EXCLUI A ACTION E O JSP E SIM EU SALVEI !!
como ele pode dar erro em algo que nem existe???????????
Índice dos Fóruns
»
Desenvolvimento Web
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team