2
respostas

spring: mvcUrl concatena virgula no inicio da String

0 down Bom dia galera,

estou iniciando os estudos com o SpringMVC e já me deparei com um problema um tanto estranho.

Eu tenho uma pagina simples com um input simples:

E tenho meu controller com um metodo com a seguinte assinatura:

@RequestMapping("/usuario") @Controller public class UsuarioController {

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

@RequestMapping(method=RequestMethod.POST, value="save") public String save(String login, String senha){ System.out.println(login); System.out.println(senha);

return "redirect:form"; } } Problema é que quando eu submeto qualquer valor pelo formulário o Spring está adicionando uma virgula nos parâmetros, por exemplo:

Se eu mandar a String "teste" quando eu imprimir no meu controller aparecerá ",teste".

Como eu faço pra resolver esse problema?

OBS: Aproveitei a pergunta de outro forum, pois é exatamente o problema que tenho.

2 respostas

Olá Douglas, tudo bem?

Poderia postar suas classes e a view?

OBS: Poste as mesmas usando a opção "INSERIR CÓDIGO", para que elas fiquem formatadas como código, desta forma:

@RequestMapping("/usuario")
@Controller
public class UsuarioController {

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

    @RequestMapping(method = RequestMethod.POST, value = "save")
    public String save(String login, String senha) {
        System.out.println(login);
        System.out.println(senha);

        return "redirect:form";
    }
}

Olá, Carlos. Muito obrigado pela ajuda.

Minha view

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>

<head>
    <title>New Product</title>
</head>
<body>
    <h1>Add new product</h1>
    <hr>
    <p>${message}</p>
    <form action="${s:mvcUrl('PC#addProduct').build()}" method="POST">
        <table>
            <tr>
                <td>Name:</td>
                <td><input id="name" name="name" required="required"/></td>
            </tr>
            <tr>
                <td>Image:</td>
                <td><input id="image" name="image"/></td>
            </tr>
        </table>
        <button type="submit">Save</button>
    </form>
    <hr>
</body>
</html>

E o controller

@RequestMapping(value="/add", method=RequestMethod.POST)
    public ModelAndView addProduct(MultipartFile image, Product product, RedirectAttributes redirect){
        String path = fileSaver.saveFile("/resources/product-images", image);
        product.setImagePath(path);
        //dao.save(p);
        redirect.addFlashAttribute("message", "Product added");
        return new ModelAndView("redirect: product/list");
    }

e a entidade

@Entity
@Table(name="product")
public class Product implements Serializable{

    private static final long serialVersionUID = -3702273747735797082L;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    private int id;

    @NotNull
    @Column(name="name")
    private String name;

    @Column(name="image")
    private String imagePath;

    // getters & setters