fernando_1985
-
Posts
7 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por fernando_1985
-
-
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) {
...
...
}
}
-
Boa tarde, estou vindo de outra área e gostaria de saber qual a formação necessária que o mercado exige para ser um programador Java. Se é necessário uma graduação em um curso de TI, certificações, etc.
Alguém pode ajudar? Grato!
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
Erro usando Spring MVC
em Java/Android SDK
Postado
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>