Ola vou iniciar um projeto de consultas em Struts1 será que estarei comentendo um erro não usando Strust2
Muito Obrigado
Ps : eu nunca trabalhei com Struts…
Ola vou iniciar um projeto de consultas em Struts1 será que estarei comentendo um erro não usando Strust2
Muito Obrigado
Ps : eu nunca trabalhei com Struts…
[quote=cameneguzzi]Ola vou iniciar um projeto de consultas em Struts1 será que estarei comentendo um erro não usando Strust2
Muito Obrigado
Ps : eu nunca trabalhei com Struts…[/quote]
Isso depende.
O Struts 2 não é apenas uma melhoria do Struts 1, ele é praticamente um framework novo.
O Struts 1 ainda é utilizado de forma abrangente no mercado, inclusive existem produtos (o Workshop, da BEA, por exemplo), que são baseados em Struts, modificações do mesmo, e conhecer Struts ajuda muito a entender esses frameworks.
O seu projeto está em que contexto? É um projeto pessoal? Algum freela?
O que o pessoal critica no Struts é uma deselegância relativa à maneira como o mesmo trata os formulários. Você define um FormBean dinâmico (definido no struts-config.xml) ou estático (uma classe), que será utilizado em uma Action, associada a um (ou mais) jsp. Após submeter o formulário para a Action, você terá que copiar os atributos para o objeto que vai realmente “trafegar” pela aplicação.
É uma deselegência, mas não chega a ser um problema, já que basta usar um BeanUtils.copyProperties(beanDestino, beanOrigem) para copiar todos os atributos facilmente.
Por outro lado o Struts facilita muito a internacionalização, permitindo que todos os labels e textos do sistema sejam armazenados em arquivos .properties, e o sistema irá procurar as Strings em um arquivo ou outro dependendo do contexto.
Além disso o Struts tem o Validator, que corretamente utilizado permite uma crítica lógica (validação dos dados submetidos do formulário) forte e prática, sem gambiarras, tornando o sistema mais robusto, evitando excesso de validações em JavaScripts.
É fácil utilizar outros frameworks associados ao Struts, como o Tiles (inclusive já vem na aplicação struts-blank), que facilita enormemente a montagem de layouts (titulo, menu, corpo, por exemplo), dando flexibilidade e facilitando a criação apenas do corpo de cada página, mantendo o layout da aplicação uniforme, ou tag libraries externas, como o displaytag, que facilita enormemente a construção de tabelas sobre listas ou outras collections, originadas de um select, por exemplo, ou ainda o Jasper Reports, ferramenta poderosa para construção de relatórios.
A sua pergunta é muito pertinente no seguinte sentido: na minha opinião é muito importante conhecer os frameworks mais utilizados no mercado, porque você fatalmente vai cair em projetos que utilizam o framework X ou Y, e quanto melhor você conhecê-los mais eficientemente vai trabalhar com cada framework, eu vejo muita gambiarra em código causada porque o desenvolvedor está tentando usar um determinado framework, mas possui apenas a mentalidade de um outro framework que já estudou.
Como princípio eu indico os seguintes: Struts, Struts 2, JSF (Java Server Faces), Spring. O Spring em especial vem simplificando a construção de aplicações (web ou não), com recursos extremamente poderosos como inversão de controle, traduzida em injeção de dependências, transacionamento através da orientação a aspectos (com uso de annotations), e integração a muitas outras tecnologias (como o Hibernate ou JBoss SEAM para persistência, ou EJB 3)…
Bom, fico por aqui por enquanto, esse assunto é muito extenso. Se você quiser saber mais coisa pergunte. E boa sorte!