Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Problema ao acionar o método grava(...) da classe de ProdutosController, não entra no método !

Olá pessoal, tudo bem ?

Não entendo o acionamento do método grava(String titulo, String descricao, int paginas) , pois no meu caso não está fazendo nada. Ou seja, não está listando no console o que digitei no formulário, não consegui ver a relação da ação de clicar no botão "Cadastrar" com a execução do método grava(...). Já assisti novamente a aula e verifiquei a documentação(explicação). Alguém pode ajudar ?

Abaixo as duas classes: package br.com.casadocodigo.loja.controllers;

import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

@Controller public class ProdutosController {

@RequestMapping("produtos/form") public String form(){ return "produtos/form"; }

@RequestMapping("/produtos") public String grava(String titulo, String descricao, int paginas){ System.out.println(titulo); System.out.println(descricao); System.out.println(paginas);

return "ok";

} }

Form.jsp:

<%@ 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">

Titulo

Descrição

Páginas

6 respostas

Oi Cesar, se esse for realmente o código da sua página, faltou vc implementar o formulário e apontar a action para o endereço mapeado no RequestMapping do seu método grava.

Só para ajudar, lembre sempre de usar o botão "inserir código" para inserir código na sua dúvida :).

<%@ 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>Formulario de produtos</title>
</head>
<body>

    <form action="/casadocodigo2/produtos" method="post">
        <div>
            <label>Titulo</label>
            <input type="text" name="titulo" > 
        </div>

        <div>
            <label>Descrição</label>
            <textarea rows="10" cols="20" name="descricao"></textarea>
        </div>

        <div>
            <label>Páginas</label>
            <input type="text" name="paginas">
        </div>
        <button type="button">Cadastrar</button>
    </form>

</body>
</html>
package br.com.casadocodigo.loja.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ProdutosController {

    @RequestMapping("produtos/form")
    public String form(){
        return "produtos/form";
    }

    @RequestMapping("/produtos")
    public String grava(String titulo, String descricao, int paginas){
        System.out.println(titulo);
        System.out.println(descricao);
        System.out.println(paginas);

        return "ok";

    }
}

Olá Alberto,

O formulário que você se refere foi o que postei primeiro, pois estava seguindo as aulas e construindo junto.

Obrigado

solução!

Oi, troca o type do button para submit : )

Deu certo Alberto, obrigado !