Minha dúvida e a seguinte já utilizo o VRaptor2 e agora comecei a estudar a versão 3, no entanto notei que no VRaptor2 eu utilizava somente um form, tanto para editar como adicionar e agora conforme a apostila no VRaptor3 existem 2 form, um para adicionar e outro para edição, minha pergunta é a seguinte a nova forma de negocio funciona realmente desta forma (2 forms destintos), ou tem como utilizar apenas um form para as duas operações???
Eu já tentei usar o mesmo form para ambas as ações, mas o VRaptor não reconheceu, ele acusou que existia dois direcionamentos para a mesma ação.
Tentei apenas uma vez, mas pelo visto ele não aceita.
G
garcia-jj
Isso não é uma limitação do Vraptor, mas sim do HTML. Você não pode ter um form dentro de outro. Você até pode ter dois forms na mesma tela, porém nunca dois forms aninhados.
zoren
Eu digo qto a usar a mesma página para editar e inserir, visto que os campos são os mesmos
ele dá erro e não faz nenhum dos mapeamentos que existe na classe
G
garcia-jj
Pode sim, creio que muita gente usa assim.
P
paulohrl
Eu uso a mesma página, tanto para adicionar quanto para editar
Qual o problema que está tendo?
Lucas_Cavalcanti
vc pode usar o mesmo form sim, e existem vários jeitos de fazer isso…
vc pode ter dois métodos com o mesmo nome na mesma classe, desde que eles estejam mapeados para urls ou métodos http diferentes… no caso do form vc pode colocar um @Path em pelo menos um deles pra mudar a url…
vc pode ter duas lógicas lógicas com nomes diferentes pro form, e dentro de uma das lógicas chamar a outra via:
publicvoidform(){..}
publicvoidformEdicao(Longid){
//buscaalgumacoisaeadicionanoresultresult.of(this).form(); // usa a view do metodo form
}
Lucas se puder coloca da outra forma que falaste só para o post ficar completo, pois não entendi muito bem como adicionar algo no result conforme tua observação //busca alguma coisa e adiciona no result
Tentei da seguinte forma mas não deu:
como seria a correta?
publicvoidform(){..}publicvoidformEdicao(Useruser){Userusr=dao.carrega(user.getLogin());//busca alguma coisa e adiciona no resultresult.of(this).form();// aqui não sei como atribuir meu objeto usr no result.}
assim se o user.login estiver vazio ele cai no método adiciona, senão ele cai no método atualiza…
Chaia:
Tentei da seguinte forma mas não deu:
como seria a correta?
publicvoidform(){..}publicvoidformEdicao(Useruser){Userusr=dao.carrega(user.getLogin());//busca alguma coisa e adiciona no resultresult.of(this).form();// aqui não sei como atribuir meu objeto usr no result.}