Pessoal estou desenvolvendo um projeto em struts como um cadastro simples exemplo id, nome, endereço, e está funcionando ele cadastra, lista e remove normalmente so que tenho para cada função um form e um action(CadastraAction, ListaAction, RemoveAction, CadastraForm, RemoveForm) e a grande duvida é a seguine gostaria de saber se tem como fazer o cadastro o lista e a remoção em um Form e um Action só. E também gostaria de fazer um unico formulario e colocar as ações de cadastro, lista e remoção em botões no formulario e não estou conseguindo.
Se alguem puder me ajudar eu desde de já agradeço.
Rodrigo obrigado pela a dica mais ainda não ajudou vou verificar certinho como funciona DynaActionForm e o DispatchAction.
Mais gostaria de saber se algum pode me ajudar com os problemas acima, o problema de juntar os actions eu estou quase conseguindo mais não consigo colocar as ações nos botões do formulario, exemplo quando clicar em inserir estou usando o submit insere normalmente e quando for deletar ou listar como fazer???
Estou aguardando ajuda, muito obrigado desde de já agradeço.
mInEiRo
Boa tarde Renato,
Uma ideia que vc possa fazer é o seguinte.
Nos 3 botões, utilize BUTTON.
Adiciona um campo HIDDEN com o nome ex: botao
vc cria uma função javascript parecida com essa:
function enviar( botao ){
// estou adicionando o valor recebido ao botao oculto
document.getElementById("botao").value = botao;
document.submit(); // aqui tem que ver direitinho, nao me lembro de cabeça, mas cada navegador tem um modo diferente de enviar.
}
para isso funcionar, na action vc vai sempre enviar para o mesmo MÉTODO.
dentro do medodo vc valida qual o botão foi adicionado, assim vc redireciona para incluir, alterar, excluir ou seila o que.
entendeu?
Não é a melhor forma mas funciona.
flw
R
RenatoSfi
Boa Tarde
Pessoal estou usando aplicações simples para cadastrar, remover e listar vou colocar o codigo para vocês verem e queria usar os botões sem javascript. Segue meus actions e meu jsp queria juntar os actions e colocar as ações nos botões, o de incluir já está respondendo agora falta o remover e o listar e colocar todos os actions juntos.
Se alguem puder me ajudar agradeço
/** * */packagebr.com.caelum.struts.action;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.jasper.runtime.ProtectedFunctionMapper;importorg.apache.struts.action.Action;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importbr.com.caelum.jdbc.dao.ContatoDao;importbr.com.caelum.jdbc.dao.EscritorioDao;importbr.com.caelum.struts.form.CadEscritorioForm;importbr.com.caleum.jdbc.modelo.Contato;importbr.com.caleum.jdbc.modelo.Escritorio;/** * * */publicclassCadEscritorioActionextendsAction{@OverridepublicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{// TODO Auto-generated method stubSystem.out.println("fazendo inclusão no formulario");//formulario do clienteCadEscritorioFormformulario=(CadEscritorioForm)form;//Acesso ao beanEscritorioescritorio=formulario.getEscritorio();System.out.println(escritorio.getBtincluir());//acesso ao bancoEscritorioDaodao=newEscritorioDao();dao.adiciona(escritorio);returnmapping.findForward("ok");}}
/** * */packagebr.com.caelum.struts.action;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.Action;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importbr.com.caelum.jdbc.dao.EscritorioDao;importbr.com.caelum.struts.form.CadEscritorioForm;importbr.com.caleum.jdbc.modelo.Escritorio;/** * * */publicclassRemoverCadEscritorioActionextendsAction{@OverridepublicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{// TODO Auto-generated method stub//formulario do clienteCadEscritorioFormformulario=(CadEscritorioForm)form;//Acesso ao beanEscritorioescritorio=formulario.getEscritorio();//acesso ao bancoSystem.out.println(escritorio.getBtremover());EscritorioDaodao=newEscritorioDao();dao.excluir(escritorio);returnmapping.findForward("ok");}}