Avant


L'annotation Before est utilisée pour configurer les intercepteurs. Cette annotation peut configurer les intercepteurs au niveau de la classe et de la méthode. Voici un exemple de code :


1475634939249992.png

Comme indiqué dans le code ci-dessus, Before peut configurer les intercepteurs au niveau de la classe. et au niveau méthode, le premier interceptera toutes les méthodes de cette classe, et le second n'interceptera que cette méthode. De plus, Before peut configurer plusieurs intercepteurs en même temps, il suffit de l'utiliser entre accolades et de séparer plusieurs intercepteurs par des virgules.

En plus des intercepteurs de niveau classe et méthode, JFinal prend également en charge l'intercepteur global et l'intercepteur Inject (l'interception Inject

sera présentée plus tard en intercepteurs globaux de couche de contrôle et en intercepteurs globaux de couche métier. Les premiers interceptent tous). Méthodes d'action dans la couche de contrôle, et cette dernière intercepte toutes les méthodes de la couche métier.

Les intercepteurs globaux doivent être configurés dans YourJFinalConfig. Voici un exemple de configuration :


public class AppConfig extends JFinalConfig {
	public void configInterceptor(Interceptors me) {
	// 添加控制层全局拦截器
	me.addGlobalActionInterceptor(new GlobalActionInterceptor());
 
	// 添加业务层全局拦截器
	me.addGlobalServiceInterceptor(new GlobalServiceInterceptor());
 
	// 为兼容老版本保留的方法,功能与addGlobalActionInterceptor完全一样
	me.add(new GlobalActionInterceptor());
	}
}


Lorsqu'une méthode est interceptée par plusieurs niveaux d'intercepteurs, l'ordre d'exécution de chaque niveau de l'intercepteur est : Global , Inject, Class, Method, s'il y a plusieurs intercepteurs dans le même niveau, l'ordre d'exécution dans le même niveau est : celui configuré devant est exécuté en premier.