Bom dia pessoal, é o seguinte…quero associar um botao na minha tela com um metodo na minha action…mas nao estou conseguindo…
essa é a minha pagina:
<html:form action="/contatoAction">
Nome:
<html:text title=“Nome do contato” property=“nome” />
Telefone:
<html:text title=“Telefone do contato” property=“telefone” />
Endereço:
<html:text title=“Endereço do contato” property=“endereco” />
<html:submit value=“Salvar” title=“Salvar Contato”/>
html:errors/
</html:form>
eu quero que quando apertar no botao chame meu metodo ao inves do “execute” que já default…
na minha action só tenho o execute…
agradeço desde já…
No struts o submit tem a property action onde você faria
não sei se é aplicável neste caso, mas é uma questão de teste.
nao funcionou nao…pq nem tem essa opção action=“action_metodo”/>…mas valeu a tentativa…
Aonde tem action_metodo, você deve colocar seu action!
Segue um exemplo:
[code]html:html
Adicionar um Bug
NomeUix do Projeto:
<html:text property=“bug.nomeUnix”/>
id:
<html:text property=“bug.id”/>
Titulo:
<html:text property=“bug.titulo”/>
Prioridade:
<html:text property=“bug.prioridade”/>
Descricao:
<html:text property=“bug.descricao”/>
status:
<html:text property=“bug.status”/>
usuario:
<html:text property=“bug.usuario”/>
html:submitEnviar dados</html:submit>
</html:form>
</html:html>[/code]
blz diegogurjao achei o exemplo bacana, mas como vc faria para associar um metodo qualquer aquele botao enviar dados…pq pelo jeito que estar lá vc esta associando seu botao com o metodo default “execute”…
oque eu kero fazer é o seguinte: Criar um CRUD, mas na minha tela principal eu quero ter 4 botoes…como eu vou associar cada um desses botoes, há metodos especificos da minha action? :?
obrigado pela atenção
Depois de muita pesquisa consegui resolver a bronca usando LookupDispatchAction
minha action ficou assim:
public class ContatoAction extends LookupDispatchAction {
/* forward name="success" path="" */
private final static String SAVE = "save";
private final static String DELETE = "delete";
private final static String UPDATE = "update";
private final static String SEARCH = "search";
protected Map getKeyMethodMap() {
Map map = new HashMap();
map.put("button.save","save");
map.put("button.update","update");
map.put("button.delete","delete");
map.put("button.search","search");
return map;
}
public ActionForward save(ActionMapping mapping, ActionForm formulario,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ContatoActionForm form = (ContatoActionForm) formulario;
Contato contato = new Contato();
ContatoDao dao = new ContatoDao();
contato.setNome(form.getNome());
contato.setEndereco(form.getEndereco());
contato.setTelefone(form.getTelefone());
dao.salvar(contato);
return mapping.findForward(SAVE);
}
public ActionForward update(ActionMapping mapping, ActionForm formulario,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ContatoActionForm form = (ContatoActionForm) formulario;
Contato contato = new Contato();
ContatoDao dao = new ContatoDao();
contato.setNome(form.getNome());
contato.setEndereco(form.getEndereco());
contato.setTelefone(form.getTelefone());
dao.atualizar(contato);
return mapping.findForward(UPDATE);
}........
minha JSP Ficou assim:
<html:submit property=“method”>
<bean:message property=“contatoAction” key=“button.save”/>
</html:submit>
lembrando que temos que adicionar la nos arquivo de propriedades do struts se nao nao vai rodar…adicionei isso:
button.save=Salvar
button.update=Atualizar
button.delete=Excluir
button.delete=Pesquisar
ta rodando tudo blz…
valeu ai galera e boa sorte a todos!