Struts 2.1

48 respostas
Rafael_Carneiro

A versão 2.1 do Struts2 framework acabou de ser lançada. Essa release tem um upgrade importante, com mudanças e refatorações, reduzindo configurações XML e adicionando plugins de convenções, bem como fornecendo suporte a REST.

Principais diferenças entre as versões 2.0 e 2.1: muitos bugs foram consertados (no Struts e Xwork). Existem agora novos plugins na versão 2.1, como suporte a REST, convenção e templates Java.

Fonte: InfoQ

48 Respostas

L

Eu havia testado o Struts 2.1 há muitos meses atrás, quando ainda estava em Beta. Naquela época, o plugin do REST tinha uma falha básica: falta de suporte para recursos aninhados (“nested resources”). Essa feature parece ainda estar ausente, pela documentação que andei olhando. Encontrei uma gambi na internet, que resolve mais-ou-menos o problema. Mas, sei lá, se REST fosse requisito, não usaria Struts 2.1.

O JavaTemplates é algo praticamente sem documentação (como quase tudo no Struts) que juro que ainda não entendi.

Por outro lado, o suporte a convenção é interessante, parece o que outros frameworks, como o VRaptor, já faziam há anos. Basicamente uma url do tipo “/book/search” mapearia para o método search() da classe BookAction. Fantástico. Quem já programou com Struts 1.x, vai levar um susto agora.

otavio

Tendo em base que o Struts é orientado a bugs… tem muuuuita coisa aí a corrigir :). Fiz uns testes com o Struts 2.1 e não gostei não. Uma das coisas mais fuleiras é a dependencia a Freemarker obrigatória, mesmo que eu use tiles + jsp, ou até mesmo velocity.

E concordo com o Leonardo, estão implementado agora o que o Menta e o Vraptor já faz há tempos. Ainda prefiro usar esses dois que Struts ou Spring MVC.

jherimum

Pô, dizer que um framework é orientado a bugs é um pouco de exagero hein.
Participei de um projeto, tudo bem que de pequeno porte, onde utilizamos struts 2 e nao encontrei bugs não!
funcionou muito bem.

R

:smiley: cara rss

trabalho em um projeto que usa o Struts 2, to com saudades do JSF, o bixinhu que tem bug esse Struts 2, fora uma coisa que me chateia muito é fazer a mesma coisa de formas diferentes, como apanhei para entender o trampo dos outros e outros dos outros e assim vai, esse projeto é dureza rs

Massssss é mais um framework rsss

jherimum

hauahaua
realemnte gosto é q nem bunda cada um tem um hauahaua
eu ja axo o JSF uma coisa muito esquisita!!
to trabalhando num projeto usando o Visual JSF do Netbeans (acho q é esse raio de implementação que é um caos) e nao to entendendo bulufas…
to menos produtivo que um gato morto!!!
mas como dissestes é mais um framework hauahaua

MauNunes

Sejamos sinceros, struts 2 é horrivel !!!
Desenvolvi com ele um projeto nas primeiras versões, e vou te falar, o esquema de template dele é péssimo.
Nunca trabalhei com JSF, mas fiz um curso na global code, e posso afirma: JSF é bem melhor.
Mas se for para escolher um framework mvc based action eu fico com VRaptor ou Menta.
Abraços

lgi2020

Não tiro o mérito que o Struts tem de ter ajudado a popularizar o conceito de MVC por aí…
Também não posso dizer que nunca usei… Até pelo fato de ainda utilizar muito (por causa dos clientes).
Mas, depois que conheci o VRaptor, que acho maravilhoso, não consigo utilizar o Struts sem ficar extremamente p… da vida com as “amarras” do framework.

Abraços.

andersondamasio

ja uso o Struts 2 já a um bom tempo em meus projetos…não conheço o VRaptor mas to curioso em ver oque ele tem a oferecer…

luiz_ross

rufostec:
:smiley: cara rss

trabalho em um projeto que usa o Struts 2, to com saudades do JSF, o bixinhu que tem bug esse Struts 2, fora uma coisa que me chateia muito é fazer a mesma coisa de formas diferentes, como apanhei para entender o trampo dos outros e outros dos outros e assim vai, esse projeto é dureza rs

Massssss é mais um framework rsss

Primeiro, que bugs que ele tem? Segundo, se tem tanto bug assim, porque não reporta para os desenvolvedores do framework que eles vão avaliar e se for bug mesmo, eles vão corrigir? Terceiro, porque ao invés de reclamar tanto não conserta vc mesmo o(s) bug(s) e manda o patch pra Apache?

otavio

Srs, o Struts é bom e não tem como negar. A versão 1 foi o precursos dos MVC, e até hoje é bom. Mas não tem como negar que há uma série de bugs e pequenas gambiarras.

Eu já abri uma série de tickets lá, alguns corrigidos e outros não. Até mesmo já enviei minhas correções para lá para que os desenvolvedores analisassem e se gostarem, colocar na árvore.

luiz_ross

Vc esta falando de qual versão? 1 ou 2? Pois a versão 2 é muiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiito diferente da 1.

lgi2020

O que mais tem de Struts 1 na versão 2 é o nome! :stuck_out_tongue:

Luiz_Aguiar

O único projeto que fui obrigado a fazer com Struts 2 eu ia de hora em hora vomitar.

no flames rs

MauNunes

luiz_ross:

Primeiro, que bugs que ele tem? Segundo, se tem tanto bug assim, porque não reporta para os desenvolvedores do framework que eles vão avaliar e se for bug mesmo, eles vão corrigir? Terceiro, porque ao invés de reclamar tanto não conserta vc mesmo o(s) bug(s) e manda o patch pra Apache?

Para !!!
Eu corrigir bug ? Se ta de brincadeira, né ? Reportar o bug para o pessoa da apache, tudo bem, agora corrigir fala sério !
Eu tenho prazo, trabalho com o cliente para resolver os problemas dele não do framework que eu escolhi. Problema todos os frameworks isso é normal agora perder tempo para corrigi-lo não dá.

luiz_ross

Engraçado que outras pessoas podem perder tempo pra corrigir algo que vc talvez vá usar.

luiz_ross

Luiz Aguiar:
O único projeto que fui obrigado a fazer com Struts 2 eu ia de hora em hora vomitar.

no flames rs

Porquê?

jherimum

bugs?
poxa. vcs podiam falar quais sao esses tenebrosos bugs pra ajudar quem gosta de desenvolver em struts 2 a não se deparar com eles ou entao a ajudar a conserta-los.
Afinal este é um grupo de usuarios Java. Temos que nos ajudar. hehehehe

Eu acredito, que, o que não se pode fazer é q por uma questão de gosto, opção ou preguiça de aprender, escrachar um framework sem fundametos.

Continuo em busca dos famigerados bugs do struts2.

PS. Será que não são encontrados “tantos” bugs em outros frameworks devido ao numero limitadissimo de desenvolvedores que o utilizam?

luiz_ross

Eu uso Struts 2 e nunca tive problemas. Agora nego vem com papo furado que o fmrk é cheio de bugs e não diz um sequer.

andersondamasio

Pessoal…
Como que faz mesmo para reportamos os tais bugs caso encontramos um no struts?

B

andersondamasio:
Pessoal…
Como que faz mesmo para reportamos os tais bugs caso encontramos um no struts?

https://issues.apache.org/struts/

Edit: Acho que vou mudar a minha assinatura de 5 minutos pra 5 segundos.

andersondamasio

Já que fez o favor de procurar …
Obrigado então.

eduardoac

Estou curioso também, por favor, se alguem encontrou um bug que impedisse de contruir um sistema que atendesse ao cliente, que reporte o mesmo, para que não passemos por isso. Ou se souberem de algum bug que passaram, coloque ai.

Abraços!

David

Dos frameworks action-based, eu acho o Spring MVC o melhor. Qual o seu problema com ele?

otavio

eduardoac, jherimum e luiz_ross … vcs falam tanto em procurar no google e tal… mas já vi que vcs não sabem (ou não querem) procurar no site os bugs. Ahh sim, é mais facil ficar perguntando, né? Dêem uma olhada na lista. Os que eu achei já reportei.

E não são apenas bugs. O Struts 1 era muito bom, meio maluco, mas para a época foi o melhor. Já o Struts 2 na verdade leva apenas o nome, pois é o Webwork. Eu já havia comentado sobre por exemplo dependencia obrigatória do freemarker mesmo que eu use apenas JSP, além de subir por padrão uma penca de plugins e interceptors que na maioria das vezes nunca é usado. Nem vou comentar sobre a nova funcionalidade de convention, que funciona super capenga. A documentação então… muito fraca.

David, usei o Spring e achei muito bom. Porém optei pelo vraptor por achar ele mais simples e rapido de funcionar. O coc do Vraptor é show de bola, e ele é bem mais inteligente ao popular os parametros dentro dos pojos, e tudo mais. O Spring tem de bom o lance de usar wildcards nas urls, e na verdade eu não tive problemas com ele, apenas optei pelo vraptor por achar mais simplificado desenvolver com ele.

Abs

jherimum

Otavio, vc deve ter me interpretado mal!!!
eu perguntei sobre o bug nao por preguiça de procurar.é que realemnte nunca encontrei um bug, que me levasse a optar por outro framework, reportar o bug e nem corrigir alguma coisa.
O q eu fiz fui criar interceptadores, conversores, validadores etc, que atendessem ao q estava desenvolvendo.

luiz_ross

Enrolou e não disse nada além do óbvio. Como coisa que nenhum um outro framework tem dependências inuteis. Quanta coisa existe no spring e não é usada, e nem por isso os recursos deixam de estar junto ao core do framework, o mesmo vale pra hibernate, jsf, qualquer outro framework da modinha. Nada do que vc falou justifica o não uso do framework.

otavio

jherimum, desculpe então :). Na verdade não é que eu desista de Struts, apenas analisei vários frameworks MVC disponíveis e optei ao que melhor atendesse a necessidade. Quem sabe logo mais eu use Struts 2 assim como usei por muito tempo Struts 1.

luiz_ross, ter 1500 funcionalidades que nunca são usadas e estão lá quietas é uma coisa, agora ter 200 e estar todas no startup é f***.

É a diferença entre tu ter um Oracle instalado na tua máquina e nunca usar. Outra é estar com ele instalado e rodando e nunca usar.

jherimum

Tem nada q se desculpar nao meu rei!!! A discussão está num nível decente hauahaua

É q acompanho ha muito tempo essas discussoes de frameworks e sempre vejo nego jogando pedra no struts 2 e nunca citando motivos coerentes, apenas jogando pedra por jogar.

Entrei na discussão pq achei meio exagerado esse lance de bugs.
talvez eu que seja uma anta, o que eu nao acho, e nao tenha usado muitos recursos, o que eu nao acho. hauahauahau

Muitas vezes os frameworks, apis e aplicativos lançam exceções não esperadas pelos desenvolvedores, e estes, sem ao menos consultar o oráculo (google) já começam a dizer q a parada é uma merda.

Um exemplo muito claro disso é o spring. não tem api, framework ou aplicativo, que eu tenha trabalhado pelos menos, que lançe exeções tao bem documentadas quanto ao spring. E o q se vê de posts em foruns por ai a fora perguntado pq aconteceu aquilo, sendo que esta escrito na exceção.

MauNunes

Ainda bem que existem pessoa que façam isso. Imagine alem de atender meu cliente ter que arrumar bug do framework. Tempo é dinheiro.
Aposto que você fica puto quando seu carro quebra, e com certeza você manda ele para alguem arrumar !

otavio:
jherimum, desculpe então :). Na verdade não é que eu desista de Struts, apenas analisei vários frameworks MVC disponíveis e optei ao que melhor atendesse a necessidade. Quem sabe logo mais eu use Struts 2 assim como usei por muito tempo Struts 1.

luiz_ross, ter 1500 funcionalidades que nunca são usadas e estão lá quietas é uma coisa, agora ter 200 e estar todas no startup é f***.

É a diferença entre tu ter um Oracle instalado na tua máquina e nunca usar. Outra é estar com ele instalado e rodando e nunca usar.

Eu concordo com otavio.

eduardoac

otavio:
eduardoac, jherimum e luiz_ross … vcs falam tanto em procurar no google e tal… mas já vi que vcs não sabem (ou não querem) procurar no site os bugs. Ahh sim, é mais facil ficar perguntando, né? Dêem uma olhada na lista. Os que eu achei já reportei…

Por que citar meu nome assim? Primeiro, não fiz a pergunta especifica para você, segundo, o que perguntei não foi algo de procurar no google, apenas se alguem desse forum já passou por algum bug. Sabemos que no site citado anteriormente mostra que foram corrigidos varios bugs (nenhum aberto se não me engano), mas a pergunta foi simples, alguem do forum já passou por algum bug (quero saber a experiencia de vocês, e não no google)? Só isso, não estou contra ou a favor de nenhum framework, só quero saber de algum bug que o pessoal passou.

Obs: Você disse que já reportou os erros, pode falar em qual Issue (https://issues.apache.org/struts/secure/IssueNavigator.jspa) entrou seu bug?

Espero a compreensão do pessoal aqui.
Abraços a todos!

Joao.Gabriel

Nervos “nervosos” aqui! hehehe

Quando ao Struts2, eu acho que a galera está viajando, o saudosismo está falando mais alto. O Struts2, embora muito parecido com o WebWork, é bom sim senhor!

jherimum:
hauahaua
realemnte gosto é q nem bunda cada um tem um hauahaua
eu ja axo o JSF uma coisa muito esquisita!!
to trabalhando num projeto usando o Visual JSF do Netbeans (acho q é esse raio de implementação que é um caos) e nao to entendendo bulufas…
to menos produtivo que um gato morto!!!
mas como dissestes é mais um framework hauahaua

jherimum, eu também uso o Visual JSF do NetBeans e te falo, ele sim é uma merda! Realmente a implementação é muito ruim, literalmente um caos…

jherimum

finalmente alguem q tenha a mesma opniao q eu hauha. pq aqui no trampo todo mundo axa lindo arrastar e soltar…argh

cara, eu to puto com essa parada de netbeans e visula jsf.
infelizmente começei a aprender jsf com isso.
Na verdade eu nao to aprendendo é nada.
Acredito que o JSF seja uma especificação interessante, mas eu deveria ter começado a aprender por uma implementação “de gente” como o “myfaces”.
agora so me resta lamentar e tentar realmente conhecer o JSF atraves de uma implementação decente.
Pq a primeira impressao que o Visual JSF deixa é pessima. Muito bunitinho, arrasta daqui e e solta lai, mas o q essa coisa gera de código é impressionante.
Acredito que os Action based frameworks geram muuuuuuuuuuuuuuuito menos código que O JSF, pelo menos nessa implementação!

andersondamasio

As tags no JSP que o netbeans e visual jsf gera eu acho coisa de loco cara…pelo menos pra min que não to acostumado com isso.
Algumas tags normais de html ele não aceita quando vc quer colocar manualmete…da erro.

Mas é minha opnião…tem gosto pra tudo

Antes que alguem fale…sei que aqui o assunto é struts…
Então falando nisso…acho que é dificil um framework ter só qualidades…algumas dificuldades que tive com o Strus e sempre consegui contornar como poderia ter com outros.

otavio

jherimum:

infelizmente começei a aprender jsf com isso.
Na verdade eu nao to aprendendo é nada.
Acredito que o JSF seja uma especificação interessante, mas eu deveria ter começado a aprender por uma implementação “de gente” como o “myfaces”.
agora so me resta lamentar e tentar realmente conhecer o JSF atraves de uma implementação decente.
Pq a primeira impressao que o Visual JSF deixa é pessima. Muito bunitinho, arrasta daqui e e solta lai, mas o q essa coisa gera de código é impressionante.
Acredito que os Action based frameworks geram muuuuuuuuuuuuuuuito menos código que O JSF, pelo menos nessa implementação!

Agora me lembrei do sufoco que foi aprender JSF. Eu sou do tempo do Struts 1, usei-o por anos a fio, e acostumar com a diferente arquitetura/forma de trabalho do JSF foi complicado pacas.

  • E para a galera que gosta de brigar nos fóruns, eu ofereço uma rodada de cerveja por minha conta para acalmar os nervos :slight_smile:
hodrigohamalho

Ainda bem que existem pessoa que façam isso. Imagine alem de atender meu cliente ter que arrumar bug do framework. Tempo é dinheiro.
Aposto que você fica puto quando seu carro quebra, e com certeza você manda ele para alguem arrumar !

Cara, seu exemplo foi bem infeliz… pois você citou algo que sai do escopo do cara, tentando arrumar seu exemplo:
Imagine se você fosse um mecânico, e seu carro (que você usa pra atender a outros clientes) quebra, você mandaria ele a um mecânico ou consertaria você mesmo ? Pois afinal é o carro que você trabalha…

[],s.

Juk

Trabalhei em uns 3 projetos com Struts 2 (webwork) e não encontrei nenhum bug cabuloso como estão falando.

Vou dar uma olhada melhor no Vraptor.

DerfelGosth

Eu tenho lido bastante coisa sobre Struts 2.1 e atualmente tenho “tentado” aprender como trabalhar com o VRaptor …
O problema maior é que estou começando agora e digamos que não sou tão inteligente como gostaria para estudar tudo que tenho estudado e absorver tudo.Não quero gerar polemica porque já percebi que quando o assunto é Framework sempre da briga , mas é que realmente preciso saber no momento qual seria o melhor Framework para se estudar ?
Digo o que tenha uma linha de estudo mais fácil (ainda mais para quem está começando) VRaptor ou Struts 2.1???

M

"

andersondamasio

ë colega…é desanimador os recursos que temos na linguagem e nao termos uma boa ferramenta tambem a altura…a visual web do netbeans em minha opniao foi um fracasso mesmo…com aquele codigo que ele gera que nao da pra manipular e etc…Sabendo que tem ferramenta da concorrencia fazendo tdo e mais um pouco

Marcio_Nogueira

Em 2007 trabalhei com o struts 1.2.9 e achei um framework bastante improdutivo devido ao fato de se perder um tempo absurdamente grande e desnecessário em configurar vários arquivos xml. Já o jsf é muito mais produtivo, simplifica e muito o desenvolvimento e não se perde tempo configurando 1.000.000 de arquivos xml, podendo, ainda acrescentar as bibliotecas do richfaces para adcionar novos componentes.

M

"

fredferrao

É engraçado como o XML foi vendida a ideia de simplificar o trabalho e agora todos os frameworks ficam doidos pra sair dele. O JSF 2 eles tentam colocar ao máximo tudo pra notação.

Engraçado foi o que vi em alguns foruns de .NET/C#, fui procurar sobre NHibernate, mas como sou do java nao queria ficar configurando XML, queria fazer a lá annotations, fui em alguns forum e os cara falando que isso SUJA o código, melhor fazer com XML.

O que pensei na hora, a galera do java ja passou pelos zilhoes de XML e esta doida querendo sair disso, ja o pessoal do .NET(pelos menos no forum que vi) esta maravilhado e acha lindo configurar tudo em XML, mal sabem o que os aguardam :twisted:

M

"

Y

Eu tinha essa mesma ideia sobre “sujar” a classe até pouco tempo (mas hao de convir que excesso de anotacoes é irritante).

Passei a usar anotacoes pq peguei um sistema legado que era assim. É realmente bem mais produtivo. Mas ha alguns casos que nao consigo usar anotacoes e uso xml ainda.

juliofsn

Na verdade o NHibernate também está se livrando do XML, é só procurar por NHibernate Mapping Attributes ou Fluent NHibernate.

Em compensação o framework de ORM padrão do .NET (o ADO .NET Entity Framework) usa um XML muito pior que o do NHibernate, o pessoal só não chiou até agora por que o Visual Studio ajuda a editar.

Marcio_Nogueira

De fato a grande quantidade de arquivos xml em alguns frameworks os torna anti produtivos.

C

Eu nao entendo muito de Struts, mas pelo que entendi ele serviu para abrir caminho para outros frameworks como o vRaptor (que e muito bom diga-se de passagem). Quanto ao JSF também é muito bom, mas prefiro o vRaptor. O vRaptor é mais enxuto e como o proprio nome sugere, é muito produtivo (até mais que jsf se você não tiver que trabalhar com vews muito complexas).

O fluxo de trabalho com JSF é confuso demais para iniciantes, na verdade é outro paradigma totalmente diferente. É bem mais complicado aprender JSF que Vraptor ou Struts. É como se um programador de linguagem procedural estivesse tentando aprender oo, no começo é um parto, mas depois que se acostuma não deixa a oo de jeito nenhum:wink:! Eu tenho trabalhado com JSF a pouco tempo, e ainda não me sinto confortavel com ele, já o Vraptor, em uma tarde de estudo, pude entender muito claramente a forma do framework trabalhar. A sacada de usar convenção é muito boa!!! Torna o desenvolvimento bastante produtivo pois você não tem que ficar configurardo XMLs e o fluxo de trabalho do framework é muito intuitivo.

O JSF é um framework que torna a aplicação mais pesada por causa dos componentes que ele renderiza. Mas por outro lado, os componentes do jsf são demais!!! Acredito que eles sejam a grande sacada do JSF, eles dão uma ajuda excepcional.

Em fim, se você tiver que desenvolver um projeto em que você terá a necessidade de usar muito ajax, componentes javascript complexos,… É JSF na cabeça! Mas se o seu projeto não necessitar de vews complexas, usar JSF nesses casos é dá um tiro no pé, pois em alguns aspectos, é bem mais chato trabalhar com JSF.

romarcio

Nunca utilizei esse VRaptor que tantos citaram, até vou dar uma pesquisada sobre ele. O JSF acho bem legal. O struts eu nunca iniciei nenhuma aplicação com, só dei manutenção, então não posso falar muito dele. Mas vejo que ele tem perdido muito espaço mesmo.

Criado 2 de fevereiro de 2009
Ultima resposta 20 de dez. de 2009
Respostas 48
Participantes 24