Mentawai Web Framework

Action Chaining (Encadeamento de Actions)

Uma consequencia do Mentawai pode resultar num encadeamento para outra action. Por exemplo, uma action pode atualizar um perfil de usuário e então encadear para a action que mostra o perfil.

Para definir um encadeamento de action no mentawai, você deve utilizar a classe org.mentawai.core.Chain que implementa a interface org.mentawai.core.Consequence. Verifique o código do ApplicationManager de exemplo abaixo:

public class ApplicationManager extends org.mentawai.core.ApplicationManager {
	
	public void loadActions() {
		
		ActionConfig ac2 = new ActionConfig("/Action2", Action2.class);
		ac2.addConsequence(Action2.SUCCESS, new Forward("/show.jsp"));
		addActionConfig(ac2);
		
		ActionConfig ac1 = new ActionConfig("/Action1", Action1.class);
		ac1.addConsequence(Action1.SUCCESS, new Chain(ac2));
		addActionConfig(ac1);
	}
}
		

Coisas importantes que você deve saber sobre encadeamento de actions:

  • Quando uma action é encadeada, o input e o output da primeira action são passados para a segunda.


  • Todas as actions no encadeamento são executadas com todos os seus filtros específicos e globais. Portanto se temos um filtro global e uma action encadeada, o filtro será executado duas vezes, uma vez para a primeira action e outra para a segunda.