使用注解方式调用自定义拦截器

xiaoxiao2021-02-28  94

自定义登录拦截器

 

public class LoginInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) { try { ... } catch (Exception e) { e.printStackTrace(); } return ""; } }

 

 

<package name="baseDefault" extends="struts-default"> <!-- 拦截器公共设置 --> <interceptors> <interceptor name="loginInterceptor" class="cn.lin.core.interceptor.LoginInterceptor"></interceptor> <!-- 定义拦截器栈 --> <interceptor-stack name="sysDefaultStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="loginInterceptor"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 设置默认拦截器 --> <default-interceptor-ref name="sysDefaultStack"></default-interceptor-ref> <!-- 全局返回结果集 --> <global-results> <result name="login" type="redirect">/common/loginUI.jsp</result> <result name="noPermission" type="redirect">/common/noPermissionUI.jsp</result> </global-results> </package>

注意:

 

1.在全局配置中,重定向的jsp不要放到WE-INF里面,我之前就是放在里面死活不出页面。

2.包的继承可以是struts-default和json-default,如果是json-default时需要引入包struts2-json-plugin-2.3.4.1.jar包,版本可忽略,建议高版本。

配置好后,在需要调用的Action继承该包

 

@Controller @Scope("prototype") @Namespace("/common/home") @ParentPackage(value="baseDefault")//这里继承 @Results({ @Result(name = "home", location = "/WEB-INF/jsp/home/home.jsp"), @Result(name = "complainAddUI", location = "/WEB-INF/jsp/home/complainAddUI.jsp") }) public class HomeAction extends BaseAction {....}

 

启动服务器,O了

感兴趣的朋友可以关注微信公众号(会定时推送新的知识):

转载请注明原文地址: https://www.6miu.com/read-44007.html

最新回复(0)