Struts2: é recomendável estender ActionSupport? (já que funciona sem)  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
pgnt
Debugger
[Avatar]

Membro desde: 18/01/2007 04:27:33
Mensagens: 57
Offline

Estou migrando uma aplicação do struts1 para o 2.

Nos exemplos em fóruns e sites, vejo sempre a classe Action estendendo a ActionSupport porém, segundo a tutorial que tenho em mãos, diz não ser necessário, e foi como iniciei a migração (realizei alguns testes e tudo está se ajustando).

Eu precisei importar "import org.apache.struts2.ServletActionContext;" para trabalhar com o request


Não usei 'getters' e 'setters' na action (sei q o struts2 pega direto fazendo assim) pois a aplicação antiga já pega os parâmetros estilo servlet mesmo - request.getParameter("xxx")

Segundo este contexto, faço bem em não estender as actions?
Existe alguma vantagem em extender ActionSupport (algum padrão de projeto intrínseco por exemplo que ele incorpora à Action)?

grato

This message was edited 1 time. Last update was at 04/09/2008 15:08:11

Herrera
JavaGuru
[Avatar]

Membro desde: 05/11/2002 12:55:48
Mensagens: 204
Localização: Sao Paulo/SP
Offline

na minhas classes eu sempre estendo para uma classe intermediária, como por exemplo :


e na classe GenericAction eu estendo para


A estensão para a classe ActionSupport não é obrigatoria, mas lá contem varios metodos uteis que vc provavelmente vai utilizar (dê uma olhada no fonte dele) . Já a classe GenericAction é um classe que é herdada e possui varios métodos em comum que podem ser utilizadas por todas as classes de sua aplicacao. Sugiro vc sempre criar essa classe, mesmo vazia inicialmente, pois futuramente vc vai precisar com certeza .

Herrera



[WWW]
WilliamSilva
Moderador

Membro desde: 02/03/2005 11:08:44
Mensagens: 1747
Localização: Santos -SP.
Offline

Nos exemplos em fóruns e sites, vejo sempre a classe Action estendendo a ActionSupport porém, segundo a tutorial que tenho em mãos, diz não ser necessário, e foi como iniciei a migração (realizei alguns testes e tudo está se ajustando).
Cuidado pois a classe ActionSupport possui os métodos e atributos que retornam mensagens de erros, errso de validação, ResourceBlunde etc. Procure sempre extender a sua classe como o Herrera citou.
sds.

= William Silva =
iSHARE - Document Management System
[Email] [WWW] [MSN]
pgnt
Debugger
[Avatar]

Membro desde: 18/01/2007 04:27:33
Mensagens: 57
Offline

Ok, no caso as validações estão sendo feitas por um método da classe de negócio, não estou usando o framework pra isso.

Gostei da idéia de estender uma classe genérica, farei isso (só não vou estender a genérica à ActionSupport pois não preciso agora, poupará recurso).

Agora, estou com um problema de acentuação semelhante ao que o Herrera teve neste tópico
http://www.guj.com.br/posts/list/66076.java#348089

O banco de dados está com LATIN1 e as páginas/XMLs da aplicação está com o encoding="iso-8859-1" e ainda assim gera exception quando uso acentuação para inserir ou atualizar dados no banco:
encoding "UTF8" has no equivalent in "LATIN1"

Estou pesquisando ainda (antes de postar no fórum), se souberem matar essa também agradeço novamente.

Obrigado!

This message was edited 1 time. Last update was at 05/09/2008 10:57:24

idev4web
JavaGuru
[Avatar]

Membro desde: 22/10/2007 10:03:44
Mensagens: 208
Offline

Quando usamos extends em qualquer classe ganhamos os beneficios da herança: por exemplo o tratamento comum de tipos que tem relacao de herança.
Alem da transferencias das caracteristica do objeto pai.
Ate facilita na codificacao, pois as IDE (eclispe e netbeans) fazem as associaçoes

http://www.xpandorabox.com
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team