Ir ao conteúdo
  • Cadastre-se

fernando_1985

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por fernando_1985

  1. Psykotico, o id vem desse arquivo, lista.jsp postado abaixo. Pelos testes, parece que o id e os demais argumentos não estão sendo passados para o método public void buscaPorId(Long id). O resultado desse método é passado para o mostra.jsp, que deveria editar os dados desse id, para serem alterados, porém, esses dados não estão aparecendo nesse arquivo mostra.jsp, Não consegui identificar o problema, estou iniciando no spring. Pode ajudar? Grato!!

     

    --- lista.jsp ---

     

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <script type="text/javascript" src="resources/js/jquery.js"></script>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
      <title>Lista Tarefas</title>
    </head>
    <body>  
      <script type="text/javascript">
        function finalizaAgora(id) {
          $.post("finalizaTarefa", {'id' : id}, function() {
            // selecionando o elemento html através da 
            // ID e alterando o HTML dele 
            $("#tarefa_"+id).html("Finalizado");
          });
        }
      </script>
      <a href="novaTarefa">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>
          <c:if test="${tarefa.finalizado eq false}">
            <td id="tarefa_${tarefa.id}">
              <a href="#" onClick="finalizaTarefa(${tarefa.id})">
              Finaliza agora!
              </a>
            </td>        
          </c:if>
          <c:if test="${tarefa.finalizado eq true}">
            <td>Finalizado</td>
          </c:if>
          <td>
            <fmt:formatDate 
              value="${tarefa.dataFinalizacao.time}" 
              pattern="dd/MM/yyyy"/>
          </td>
          <td><a href="removeTarefa?id=${tarefa.id}">Remover</a></td>
          <td><a href="mostraTarefa?id=${tarefa.id}">Alterar</a></td>
        </tr>
      </c:forEach>
      </table>
    </body>
    </html>

  2. Estou estudando Spring MVC pela apostila da Caelum e estou obtendo o seguinte erro no projeto:

     

    "Request processing failed; nested exception is java.lang.IllegalArgumentException: 
    Name for argument type [java.lang.Long] not available, and parameter name information not found in 
    class file either."

     

    O Eclipse aponta o erro na linha destacada do arquivo TarefasController.java
    Alguém pode ajudar? Grato!!!

     

    Segue os arquivos java:

     

    --- TarefasController.java ---

    @Controller
    public class TarefasController {
    ...
    ...

        @RequestMapping("mostraTarefa")
        public String mostra(Long id, Model model) {
          JdbcTarefaDao dao = new JdbcTarefaDao();
          model.addAttribute("tarefas", dao.buscaPorId(id));   <----- Erro
          return "tarefa/mostra";
        }
    }

     

    --- Tarefa.java ---

    public class Tarefa {
        private Long id;
        
        @NotNull @Size(min=5, message="Descrição deve ter pelo menos 5 carateres!")
        private String descricao;
        
        private boolean finalizado;
        
        @DateTimeFormat(pattern="dd/MM/yyyy")
        private Calendar dataFinalizacao;
        
        public Long getId() {
            return id;
        }
        public void setId(Long id) {
            this.id = id;
        }
        public String getDescricao() {
            return descricao;
        }
        public void setDescricao(String descricao) {
            this.descricao = descricao;
        }
        public boolean isFinalizado() {
            return finalizado;
        }
        public void setFinalizado(boolean finalizado) {
            this.finalizado = finalizado;
        }
        public Calendar getDataFinalizacao() {
            return dataFinalizacao;
        }
        public void setDataFinalizacao(Calendar dataFinalizacao) {
            this.dataFinalizacao = dataFinalizacao;
        }
        
    }

     

    --- JbdcTarefaDao.java ---

    public class JdbcTarefaDao {
            
        // a conexão com o banco de dados
        private Connection connection;
             
        public JdbcTarefaDao(Connection connection) {
            this.connection = connection;
        }
            
        public JdbcTarefaDao() {
            this.connection = new ConnectionFactory().getConnection();
        }
                  
        // outro construtor e métodos do DAO        

            
        public void adiciona(Tarefa tarefa) {
             ...
             ...
        }
            
        public List<Tarefa> getLista() {
             ...
             ...        
        }
            
        public void remove(Tarefa tarefa) {                  
             ...
             ...    
        }
        
        public void buscaPorId(Long id) {
            try {
                PreparedStatement stmt = connection.prepareStatement("select "
                        + "descricao from tarefas");
                //stmt.setLong(1, tarefa.getId());
                //stmt.setString(1, tarefa.getDescricao());
                stmt.execute();
                stmt.close();             
            } catch (SQLException e) {
                //System.out.println("Message: " + e.getMessage());
                throw new RuntimeException(e);
            }
            
        }
        
         public void altera(Tarefa tarefa) {
             ...
             ...
         }
    }


     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!