Struts2拦截器中取Action的参数

     在开发中,有时候多个 Action 中都需要进行同样的一段逻辑判断、处理,可以把它们抽取出来,放到拦截器中来实现。这样既可以实现代码复用,减少代码量,又便于维护。(不至于新增一个 Action 就添加这样一段代码,后期需要改这段代码的时候,也不用每个 Action 中都作相应修改)这时候就需要在拦截器中取所调用的 Action 的参数,包括传进来的和传出去的,下面列举一些我用到的方法:

1.进行权限判断(判断有无登陆)

Struts2拦截器中取Action的参数

2.得到 Action 方法返回的结果

String result = ai.invoke(); // 此方法调用了 Result ,故在拦截器中作更改,对最终结果无影响
String result = ai.invokeActionOnly(); // 此方法只调用 Action, 在拦截器中作更改,对最终结果有影响

3. actionInvocation.getInvocationContext().getName();// 当前调用的 Action 的名字(struts配置    文件中写的名字)

   actionInvocation.getAction().toString(); // 当前调用的 Action 的名字(全路径类名)

   actionInvocation.getStack().findString("msg");// 从值栈中取出 "msg" 的值

你可能感兴趣的:(Struts2拦截器中取Action的参数)