| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2008 15:07:56
|
pgnt
Debugger
![[Avatar]](/images/avatar/4c6ec11e967c21b14b970b16579cdf13.png)
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2008 07:55:36
|
Herrera
JavaGuru
![[Avatar]](/images/avatar/46ba9f2a6976570b0353203ec4474217.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2008 08:46:17
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2008 10:54:52
|
pgnt
Debugger
![[Avatar]](/images/avatar/4c6ec11e967c21b14b970b16579cdf13.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2008 12:20:49
|
idev4web
JavaGuru
![[Avatar]](/images/avatar/687e0d2bafc7e6ec43af9c3f65b45508.jpg)
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 |
|
|
 |
|
|