1
resposta

s:mvcUrl retorna um link get, mas o método é post

java:

@RequestMapping(value="/admin/servidores/remove",method=RequestMethod.POST)
    public ModelAndView remover(int id) {
        dao.remover(id);
        return new ModelAndView("redirect:/admin/servidores");
    }

JSP:

<c:forEach items="${servers}" var="server">
                        <tr>
                            <td>${server.nome}</td>
                            <td><form:form action="${s:mvcUrl('SC#mostrar').build() }" method="get"><input type="hidden" name="id" value="${server.id }"> <button class="btn editar" type="submit">Editar</button> </form:form> <form:form action="${s:mvcUrl('SC#remover').build() }" method="POST"><input type="hidden" name="id" value="${server.id }"> <button class="btn excluir" type="submit">Excluir</button> </form:form></td>
                        </tr>
                    </c:forEach>

Resultado:

http://localhost:8080/lojinha/admin/servidores/remove?id

como faz pra esse método retornar um link sem esse parâmetro na url ?

1 resposta

Oi Pedro,

Como você fez:

<input type="hidden" name="id" value="${server.id }">

os parâmetros serão enviados por QueryParam.

Se quiser que seja por path param:

@RequestMapping(value="/admin/servidores/remove/{id}/",method=RequestMethod.POST)
    public ModelAndView remover(@PathVariable int id) {
        dao.remover(id);
        return new ModelAndView("redirect:/admin/servidores");
    }