Mostrando postagens com marcador Struts. Mostrar todas as postagens
Mostrando postagens com marcador Struts. Mostrar todas as postagens

segunda-feira, 22 de outubro de 2007

Struts 1 : resetando um DynaForm

sinceramente algo dramático em utilizar o Struts 1 e seus Forms, é quando utilizamos o DynaForm, por um lado muito legal até, mas na hora de resetar o form... é um baile...

bom segue uma dica para você resetar esse tipo de form no Struts 1, tente:

DynaValidatorForm dynaForm = (DynaValidatorForm) form;
dynaForm.getMap().clear();

pelo menos aqui, esse código me resolveu os problemas e resetou o formulário =D

fica a dica ;)

sábado, 22 de setembro de 2007

MVC : Struts 1 vs. Struts 2

ainda vejo muita empresa utilizando o Struts 1 e muitas dessas desconhecem o Struts 2...

bom vejamos algums motivos para utilizar o Struts 2:

- POJO Actions
não precisa mais herdar nada, nem ter os métodos da classe action atrelados ao HttpServletRequest, HttpServletResponse ou outro parametro, simplesmente nada, basta ter um retorno String para orientar o mapeamento a action...

- Esqueça os FormBeans e DynaFormBeans
isso era e é algo que julgo muito chato quando estou trabalhando com um projeto em Struts 1, no Struts 2 esqueça disso, para que sofrer, ou seja use outras classes no formato POJO e defina essas como atributos da classe action, com respectivos métodos set e get para este e pronto, eis a tua classe Formulário, simples, rápido, menos traumatico, mais flexível, pois você pode utilizar quantas classes quizer =]

- Mapeamento com parametros alteráveis
é isso mesmo que você leu, digamos que você mapeou lá a tua action, mas precissa que esta saída da action seja flexível e possa ser alterada passando parametros para flexibilizar a saída, isso tem como fazer brincando no Struts 2, sabia?

- Configuração mínima
não quer utilizar XML para mapear a action ou a saída, então não use, você pode utilizar Annotations para configurar suas actions

- Mapeamento Reutilizáveis
isso mesmo que você leu, com um único mapeamento você pode utiliza-lo para inumeras actions, pois tem como você montar o mapeamento definindo parametros, onde esses parametros são partes enviadas na URL da request... por exemplo: /suaApp/casoDeUso/operacao/, esse formado de URL tem como ser mapeado onde você faz com que o caso de uso, seja o nome do pacote, ou mesmo nome da classe action a ser chamada e a operação o método interno da classe ( isto que citei é apenas um exemplo muito basico, da possibilidade oferecida por esta funcionalidade )

- Tiles 2 ou Sitemesh
facilmente integravel com o Tiles 2 ou com o SiteMesh, que são gerenciadores de layout para facilitar o desenvolvimento da interface da tua aplicação

- Templates costumizáveis de componentes
sim, o Struts 2 possui componentes prontos, de suas taglib que podem ser configurados de acordo com tua necessidade...

- Plugins e mais plugins
diversidade de plugins para o Struts 2, quer integrar com o Spring? sem problemas =]

----

e você ainda vai continuar usando o Struts 1? a vai, bom se está sendo obrigado, devido a definição de algum projeto paciência ( as vezes isso também me acontece ), mas se puder escolher use o Struts 2, te garanto que será outro nível e outra experiência, irá notar que é realmente produtivo ( muito mais que o JSF, se bem que tem gente que integra os 2, mas tem louco para tudo nessa vida )

----

Outros posts sobre o Struts 2, em alguns tem exemplos de projeto ;)
Um post de resposta sobre o Struts 2 no Portal Java : [link]

domingo, 29 de julho de 2007

OC4J 10.1.2.x : Struts 1 : problemas

hoje fazendo alguns ajustes em um projeto eis que surge um problema na hora de fazer o deploy no OC4J 10.1.2.x, simplemente não compilava o jsp...

o mais incrível que a mesma aplicação executava no OC4J 10.1.3.x, mas como o ambiente de produção usa a versão anterior o jeito é corrigir a aplicação para que a mesma funcione...

incrivelmente foi apenas tirar a tag: html:link que a aplicação compilou...
menos mal, bom fica ae a dica, caso alguem passe por apuros no OC4J 10.1.2.x com Struts 1

segunda-feira, 2 de julho de 2007

Struts 1: utilizando html:select

hoje acabei tento um pouco de problema, com falta de conhecimento disponível momentaneamente ( hehe ), como de costume meu usando Webwork, Struts 2 e a maioria dos outros frameworks MVC web java, utilizo por padrão a interface List, porém a mesma nada de funcionar... bastou apenas mudar de List para um Vector e funcionou =]

o problema em si era na definição dos options:
<html:options collection="customers" property="id" labelProperty="name" />

sábado, 30 de junho de 2007

Struts : exemplo de projeto

algo útil em geral, pelo menos eu tenho maior facilidade de assimilar conhecimento pegando um projeto funcionando, ver os fontes e debugar =]

baseado nisso estou disponibilizando 5 projetos simples de uso do Struts:

- struts1_tiles_crud
uso do Struts 1 em conjunto do Tiles( gerenciador de templates ) em um caso de CRUD simples

- struts2_action_annotations
exemplo de como utilizar actions através de anotações no Struts 2

- struts2_blank
exemplo de um projeto simples em branco do Struts 2, também nesse projeto tem um exemplo de como definir saída de stream de dados dinamicamente

- struts2_crud_example
exemplo de crud simples utilizando o Struts 2

- struts2_tiles2_example
exemplo de uso do Tiles 2 em conjunto do Struts 2

Obs.: em todos os projetos possuem um arquito NOTA.txt, com mais informações

ambiente no qual foi montado esses projetos:
- Eclipse 3.2
- WTP 1.5.3
- Java SDK 1.5.x
- Java SDK 1.4.x
- Apache Tomcat 5.5.20
- Apache Tomcat 5.0.28

segunda-feira, 25 de junho de 2007

Struts 1.3.8 + validação = dor de cabeça

bom nesse post nada de útil por enquanto, mas sim descrevendo algo que provavel, muitos já passaram, irão passar( caso use o Struts 1 ), ou voltarão a passar como no meu caso que já usei Struts 1 e to com um projeto usando ele de novo...

bom essa parte de validações é uma das partes do Struts 1 que me lembro que nunca gostei muito e como já testei/usei a validação no Struts 2, sinceramente o tristeza viu...

ainda na briga para ajustar o funcionamento, mas por enquanto to levando uma surra do Struts 1... mas tenho que consertar isso, espero de volta achar alguma boa prática, porém dessa vez irei documentar para não bater a cabeça novamente... :(

domingo, 17 de junho de 2007

Struts 1.3.8: formbean não inicializa....

essa semana me deparei com um problema usando o Struts 1.3.8, eis que tinha criado minhas classes Action, minhas classes do FormBeans, feito o mapeamento no struts-config.xml...

e chegada a hora do teste, uma mensagem de erro do além me era apresentada... descrevendo que não foi possível carregar minha classe FormBean...

fui verifiquei o mapeamento no struts-config.xml aparentemente tudo certo, porém nada de funcionar... e eis um mistério da informática!

-> um colega me resolve fazer o seguinte procedimento:

- abrir a classe do FormBean em questão, na linha na qual indicava o package, copiou a mesma....
- foi no struts-config.xml e no local que tinha a mesma string do caminha colou o caminho que havia copiado na classe...
- salvou e testou novamente...

o mais impressionante: FUNCIONOU!!!

...ainda não compreendi o que havia de diferente...

mas fica ae a dica de um procedimento para tentar resolver esse problema ;)

terça-feira, 12 de junho de 2007

Struts 1.3.8: problemas para usar o Tiles?

a uma semana atras após a notícia de que não poderia utilizar o Struts 2 em um novo projeto devido a alguns critérios do projeto( a ordem vem de cima e o peão resta obedecer... :P ), foi decidido que deveria ser utilizado a ultima versão do Struts 1, em questão a 1.3.8, até ae tudo bem, os problemas surgiram na hora de utilizar o Tiles...

fazendo como de costume o uso do Tiles, criei os templates do Tiles, defini o tiles-def.xml, setei no resultado da action e... nada de funcionar, mas sim me apresentou um erro falando que faltava um '/' na frente do nome do mapeamento do Tiles.

após algumas buscas e testes descobri que é necessário fazer algumas configurações para possibilitar o funcionamento do Tiles nessa versão...

bom chega de papo e vamos ao que interessa, como fazer para utilizar o Tiles nessa versão:

* foi necessário utilizar um outro xml para auxiliar o Struts 1.3.8, chain-config.xml o qual se encontra dentro do .jar do struts-tiles.jar

faça as seguintes configurações:

- web.xml
inclua o respectivo parametro da definição do servlet do Struts
    <init-param>
<param-name>chainConfig</param-name>
<param-value>org/apache/struts/tiles/chain-config.xml</param-value>
</init-param>

- struts-config.xml
inclua o mapeamento do plugin

    <plug-in className="org.apache.struts.tiles.TilesPlugin">

<set-property
property="definitions-config"
value="/WEB-INF/tiles-defs.xml"/>
</plug-in>

Referência: Struts Tiles Quick Install