1
resposta

java.lang.IllegalArgumentException: id to load is required for loading

Estou com problema no codigo abaixo...alguem pode me dar um aajuda?A aula 10 do spring MVC ta muito zoada...

Classe Produto

public Integer getId() {
        return Id;
    }
    public void setId(Integer id) {
        Id = id;
    }

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Controller#############
@RequestMapping("/detalhe")
    public ModelAndView detalhe(Integer Id){
         ModelAndView modelandview = new ModelAndView("produtos/detalhe");
        Produto produtos = produtodao.find(Id);
        modelandview.addObject("produto", produtos);
        return modelandview;
    }

$$$$$$$$$$$$$ProdutoDao###################
public Produto find(Integer Id) {
        return manager.find(Produto.class, Id);

    }

################Detalhe#######################

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body class="produto">
<h1>Produto cadastrado com sucesso</h1>

<title>${produto.titulo} - Casa do Código</title>


</body>
</html>

Simplesmente não consigo ver meu view

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: id to load is required for loading
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
1 resposta

Oi Daniele, esse problema está acontecendo por você precisa passar um id na hora de chamar a url do detalhe, por exemplo:

localhost:8080/detalhe?Id=1

Essa exception está acontecendo pq o id está null no momento que você vai fazer a query.

Abraços!