| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2005 15:08:02
|
roberto.soares
![[Avatar]](/images/avatar/8f14e45fceea167a5a36dedd4bea2543.png)
Joined: 28/06/2005 23:07:34
Messages: 20
Location: Brasil
Offline
|
Olá,
Estava pensando se tinha como melhorar a relação InnerAction X ActionConfig, acrescentando um novo parâmetro em ActionConfig q seria o método utilizado, caso não fosse "execute()".
Code:
//add and edit category
ac = new ActionConfig("/category.f",CategoryAction.class);
ac.addConsequence(CategoryAction.SUCCESS,"add",new Redirect("/index.jsp"));
ac.addConsequence(UserAction.ERROR,"add",new Forward("/formcategory.jsp"));
ac.addConsequence(CategoryAction.SUCCESS,"edit",new Forward("/index.jsp"));
ac.addConsequence(UserAction.ERROR,"edit",new Forward("/editcategory.jsp"));
addActionConfig(ac);
ac.addFilter(new CategoryValidator());
ac.addFilter(new VOFilter(Category.class));
Encontrei um pequeno problema no caso de diferentes Validator's para InnerActions. (E tbm que usar "?action=..." não fica muito interessante.)
Pensei em algo assim:
Code:
ac = new ActionConfig("/category",CategoryAction.class,"add");
ac.addConsequence(CategoryAction.SUCCESS,new Redirect("/index.jsp"));
ac.addConsequence(UserAction.ERROR,new Forward("/formcategory.jsp"));
addActionConfig(ac);
ac.addFilter(new AddCategoryValidator());
ac.addFilter(new VOFilter(Category.class));
ac = new ActionConfig("/category",CategoryAction.class,"edit");
ac.addConsequence(CategoryAction.SUCCESS,new Forward("/index.jsp"));
ac.addConsequence(UserAction.ERROR,new Forward("/editcategory.jsp"));
addActionConfig(ac);
ac.addFilter(new EditCategoryValidator());
ac.addFilter(new VOFilter(Category.class));
Os links poderiam ficar: "localhost/category.add.mtw".
Tentei fazer algo assim com a versão atual e tive links assim: "localhost/category.add.mtw?action="add"...
O que acha Sérgio?
|
Roberto Soares |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2005 15:12:44
|
roberto.soares
![[Avatar]](/images/avatar/8f14e45fceea167a5a36dedd4bea2543.png)
Joined: 28/06/2005 23:07:34
Messages: 20
Location: Brasil
Offline
|
Ah, tem casos que funciona que é uma beleza:
Code:
//list and view category
ac = new ActionConfig("/category",CategoryAction.class);
ac.addConsequence(CategoryAction.SUCCESS,"list",new Forward("/listcategory.jsp"));
ac.addConsequence(CategoryAction.SUCCESS,"view",new Forward("/viewcategory.jsp"));
ac.addConsequence(UserAction.ERROR,new Forward("/error.jsp"));
addActionConfig(ac);
Só tendo o problema do link.
|
Roberto Soares |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2005 16:16:43
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Acho que entendi !!!
Do jeito que está hoje não podemos ter filtros de validação específicos para cada inner action, já que quando adicionamos um filtro, adicionamos para a action independentemente de inner actions.
Estou pensando...
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2005 16:38:49
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Chamada: http://localhost/category.add.mtw
Regras:
1) Primeiro procura por um ActoinConfig especificado com o add no construtor:
Code:
ac = new ActionConfig("/category",CategoryAction.class,"add");
2) Se não encontrou, procura por um ActionConfig sem nenhuma inner action especificada no construtor:
Code:
ac = new ActionConfig("/category",CategoryAction.class);
Para o caso de um action config especificada com uma inner action, todos os filtros e consequencias são apenas para aquela Inner Action. Se vc chama addConsequence com uma inner action recebe um IllegalStateException.
Para o caso de um action config sem inner actions, as regras são as que estavam valendo até agora, ou seja, vc pode chamar addConsequence especificando a inner action e os filtros adicionados serão executados para todas as inner actions.
Acho que isso é o melhor de ambos os mundos né ???
Problema: Colocando isso no link como vc sugeriu, implica que inner actions terão que estar ativadas para todas as actions, independentemente de um filtro para ativá-las.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2005 19:24:37
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Acho que agora está bom:
http://mentawai.lohis.com.br/inneraction.jsp
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2005 13:32:43
|
roberto.soares
![[Avatar]](/images/avatar/8f14e45fceea167a5a36dedd4bea2543.png)
Joined: 28/06/2005 23:07:34
Messages: 20
Location: Brasil
Offline
|
Olá,
Gostei! Vou atualizar minha aplicação e deixo aqui meus comentários.
|
Roberto Soares |
|
|
 |
|
|