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

Recendo parametros no meu controller do form html com uma vírgula antes do valor.

Boa tarde.

Pessoal, toda vez que recebo os valores do form no meu controller, ele vem com uma vírgula antes. Por exemplo, se informo no campo novaSenha o valor "123", quando recebo o valor no controller vem ",123". Alguma solução?

'< form method="post" action="${s:mvcUrl('LC#trocarSenha').build() }" class="form-horizontal">

Nova Senha
#
Confirmação
#

'

Controller....

@RequestMapping(value="/alterarSenha", method=RequestMethod.POST) public String trocarSenha(String senhaNova, String confirmacaoSenha, HttpServletRequest request){

Usuario u = (Usuario)request.getSession().getAttribute("usuario");

System.out.println(senhaNova); System.out.println(confirmacaoSenha);

usuarioDao.alterarSenha(u.getEmail(), senhaNova);

return "redirect:/telaSenha"; }

4 respostas

Opa, vou ser sincero, a chance é muito baixa do Spring colocar essa virgula aí. Já verificou se os dois inputs não estão com o mesmo nome? Como está o form? Uma coisa que não tem nada a ver com o que vc perguntou, mas eu criaria uma classe com os atributos em questão e métodos de acesso. Usaria essa classe para receber os parâmetros e tudo mais.

Pois é Alberto. Os inputs estão corretos e com nomes diferentes. Se eu criar a classe com esses atributos dá certo. O que eu não queria era toda vez ter que criar uma classe específica para uma rotina relativamente simples. Agora se não tiver jeito mesmo, vou criar a classe. Valeu.

Meu problema é exatamente como esse:

http://respostas.guj.com.br/43247-springmvc-adicionando-virgula-automaticamente-nos-parametros

solução!

Entendi Marco.. o problema da virgula em si ta obscuro para mim. De todo modo, continuo achando que criar a classe é a melhor solução. Você tem algo que representa seu form no seu projeto, pode colocar alguma condição lá dentro, usar na jsp e tudo mais.

Vou fazer isso. Obrigado Alberto!