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

Aula 3.9: <c:url> dentro do <form>

E aí pessoal, tudo bem?

Estava fazendo a página de adicionar produtos, porém não consigo fazer ela porque eu não consigo colocar uma tag dentro de outra tag!

Quando entro na página http://localhost:8080/vraptor-produtos/produto/formulario

Aparece uma linha escrito: " method="post"> (código quebrado do form) E o formulário embaixo.

O código do meu Controller é:

Alguém sabe porque isso está acontecendo?

    public void formulario() {}

    @Post
    public void adiciona(Produto produto) {
        produtos.salva(produto);
    }

E o código da minha 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">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Adicionar</title>
</head>
<body>
    <table>
        <form action="<c:url value="/produto/adiciona" />" method="post">
            <tr>
                <td>Nome</td><td><input name="produto.nome" /></td>
            </tr>
            <tr>
                <td>Descricao</td><td><input name="produto.descricao" /></td>
            </tr>
            <tr>
                <td>Preco</td><td><input name="produto.preco" /></td>
            </tr>
            <tr>
                <input type="submit" value="Adicionar"/>
            </tr>
        </form>
    </table>
</body>
</html>

Brigadão desde já!

4 respostas

Complementando:

Consegui contornar o problema colocando direto o nome da página que eu estava:

action="adiciona"

Mas na aula funcionou com o c:url.

Alguém conseguiria explicar como colocar a tag dentro da outra tag?

Obrigado!

solução!

Oi Giulio, tudo bem?

A utilização da teg aparentemente está correta, mas faltou importar a taglib. No início do jsp, antes da declaração do DOCTYPE, você deve colocar:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Me confirma se funcionou?

Abraço!

Verdade Felix, era isso mesmo que faltava!

Que falta de atenção a minha haha

Obrigado pela resposta!

Oi Giulio, acontece! :)

Que bom que funcionou!

Abraço.