Struts - identificar o html:image clicado [RESOLVIDO]

4 respostas
PadrE

Eae pessoal…

Estou apanhando com algo básico em struts… tenho uma página com doi html:image no final

<html:image property="botao" value="voltar" src="voltar.gif" alt="Voltar" /> <html:image property="botao" value="continuar" src="continuar.gif" alt="Continuar" />

Por ter apenas uma página, não criei diversos Action… queria tratar tudo em apenas um. Mas não consigo recuperar no execute do Action qual o image clicado.
Por padrão, o html:image faz o submit, mas não consigo ler a propriedade ‘botao’. Algo como:

if("voltar".equals(request.getParameter("botao")){ ... }else if("continuar".equals(request.getParameter("botao")){{ ... }

Colocar no FormAction um atributo “botao” não funciona. Me parece que não posso usar o form nesse caso.
Não tentei usar javascript ainda… mas espero não ter que usar… deve ter algum detalhe que estou errando… Alguma sugestão?

Vlw pela ajuda!

4 Respostas

drsmachado

Você terá de definir uma entrada no struts-config.xml para cada uma das opções.

PadrE

Pelo que entendi, preciso colocar um parameter no action-mapping

Fiz isso, mas no action ainda não consigo recuperar o valor dele. No máximo, ver que há o parametro ‘botao’ no mapping.

Seria esse o caminho?

PadrE

Opa…

Bom… encontrei uma solução…
http://www.coderanch.com/t/493737/Struts/Change-html-submit-button-image

…mas imagino que tenha algo mais apropriado. Vou continuar procurando…

PadrE

Eh galera…

Não achei outra forma… vou usar a solução acima mesmo.
Ela identifica até mesmo o uso do Enter… fiz diversos testes e tive bons resultados… até mesmo em browser diferentes…

O que fiz a mais foi incluir comentários no fonte explicando a implementação.

FuI!

Criado 5 de julho de 2013
Ultima resposta 12 de jul. de 2013
Respostas 4
Participantes 2