Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Enviar o parâmetro da @PathVariable através de um from

Boa tarde,

Eu gostaria de saber como utilizar o PathVariable com formulários, como eu faço para enviar o valor do formulario para a PathVariable.

Abaixo tem meu formulário e o controller, está tudo funcionando, mas sem o PathVariable

Formulário

        <form action="transactions/info" method="GET">
            <label for="name">Nome:  </label>
            <input type="text" name="name" >
           <input type="submit" value="Buscar pelo Nome"/>
        </form>

Controller

@RequestMapping("/info")
    public ModelAndView infoTest(@RequestParam("name") String name){
        System.out.println(name);
        ModelAndView modelAndView = new ModelAndView("transactions/info");
        Transaction transaction = traDAO.findByName(name);
        modelAndView.addObject("tra", transaction);
        return modelAndView;
    }

Antes eu tinha um outro metódo mapeado como:

@RequestMapping(value="/info2/{name}", method = RequestMethod.POST)

Porém só funcionava quando inseria a url manualmente, através do form não funcionava, por isso eu troquei o PathVariable por RequestParameter

Eu já tentei fazer de algumas maneiras, porém minha url acabava ficando: /EstudosSpring-1.0/WEB-INF/views/transactions/info2/001.jsp

Tentei tirar o setPrefix(".jsp") do metódo InternalResourceViewResolver(no AppWebConfiguration) e a url ficou certa, porém não funcionava.

09:44:02,802 WARN  [org.springframework.web.servlet.PageNotFound] (default task-43) No mapping found for HTTP request with URI [/EstudosSpring-1.0/WEB-INF/views/transactions/info2/001] in DispatcherServlet with name 'dispatcher'
1 resposta
solução!

Oi Bruno, não tem jeito. A variável tem que fazer parte da url.