Struts ou VRaptor

3 respostas
Ed.prog

Gente. estou preparando terreno para fazer alguns trabalhos de freelancer na minha região, e optei por usar uma framework MVC, e fazer os componentes com jQuery + tags jsp. O que eu queria saber é se vale a pena eu continuar fuçando o Struts ou se é mais interessante ir pro VRaptor, que faz praticamente o que eu queria fazer no Struts.

Explicando melhor, comecei fuçando o Struts 1.3 e usando os wildcards, mais umas configurações aqui e ali, mais uma superclasse pra gerenciar as actions, cheguei a uma simplificação que permite acessar métodos com uris amigáveis, por exemplo:

A URL http://localhost/checklist/person/edit/4

Acessa o método abaixo:

@ActionPath("edit") public String getPersonToEdit(personForm form, String id, HttpServletRequest req, PersonService ps) throws RemoteException{ if(ValidationUtils.isNumber(id)){ Person toEdit = new Person(); toEdit.setId(Long.parseLong(id)); toEdit = ps.get(toEdit); if(toEdit.getId() != null && toEdit.getId() > 0){ form.setBean(toEdit); return SUCCESS; }else{ return FAILURE; } }else{ req.getSession().setAttribute(RequestKeys.ERROR_MESSAGE, I18n.get(req.getLocale(), "messages.warn.invalidParameter")); return FAILURE; } }
Que em caso de sucesso, acessa a /pages/person/edit.jsp. Infelizmente, pra fazer isso nos wildcards precisei abrir mão da boa prática dos nomes de classe - PersonAction passa a ser personAction… pra condizer com mapeamentos desse tipo:

<action name="{1}Form" path="/*/*/*" parameter="{3}" scope="request" type="checklist.action.{1}Action"> <forward name="success" path="/pages/{1}/{2}.jsp" /> <forward name="failure" path="/pages/{1}/{2}.failure.jsp" /> <forward name="list" path="/{1}/list" redirect="true" /> <forward name="main" path="/" redirect="true" /> </action>

Também acrescentei injeção de dependências nos métodos, por exemplo, o PersonService ps ali é populado com um ejb puxado por um service locator. Depois de um tempo alguns amigos me falaram do VRaptor, que fazia praticamente isso por padrão, e resolvi conhecer o bicho… achei muito interessante mesmo, e pelo que experimentei é bastante rápido, e não tem as falhas da minha configuração do struts, rsrsrs… fora que popula o id com o parâmetro da uri sem precisar fazer o que eu estava fazendo.

Mas enfim, agora fiquei meio indeciso, vale a pena ir pro VRaptor? O que posso fazer no Struts que não posso fazer nele… e vice-versa? Por favor, me ajudem…

3 Respostas

P

Opá, vc ta perdendo tempo tentando implemnetar isso no Struts!!! Vá logo para o vRaptor !!!

PS: Primeira vez que vejo alguem falar em tags jsp, tbm uso isso pois quero produtividade e não ficar criando um tipo de interface para cada sistema, legal. O que vc tem de layout sobre isso ?

gbmesso

Cara, VRAPTOR + JQUERY = produtividade e boa performance.

Ed.prog

Desculpe ressucitar esse tópico morto, mas obrigado pelos conselhos. Estou usando o VRaptor e a experiência é ótima, e a integração com o spring é uma baita mão na roda. O pessoal que fez o VRaptor 3, está de parabéns.

Criado 9 de agosto de 2011
Ultima resposta 17 de ago. de 2011
Respostas 3
Participantes 3