力所能及之struts2拦截器

来源:互联网 发布:lte无线网络优化 编辑:程序博客网 时间:2024/05/01 13:08

我们看struts的底层代码struts-default.xml中发现好多interceptor,这个究竟是什么??今天小狼就告诉你哦。。。

写一个简单的jsp,在里面写一个简单的链接

<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%><%@ taglib uri="/struts-tags"   prefix="s"%><html>  <head>    <title>My JSP 'index.jsp' starting page</title>    </head>  <body>      测试拦截器:<br>        <a href="userAction_save.love">test</a><br>    </body></html>
写一个简单的action,配置一下struts .xml。把这个工程跑通就ok了。

下面,我们来写一个自定义拦截器类,实现Interceptor接口。别的方法就空实现就行,我们先把工程的主体需求跑通。这里就写一个Intercept方法

zcy.test.aop.ExpessionInterceptor.java

public String intercept(ActionInvocation invocation) throws Exception {// TODO Auto-generated method stubMap sessionMap = ServletActionContext.getContext().getSession();Object obj = sessionMap.get("user");if (obj == null || obj.equals("")) {return "error";} else {return invocation.invoke();}}

下面配置一下struts.xml,在当前包下加入如下配置

<interceptors><!-- 声明自定义的拦截器 --><interceptor name="expessionInterceptor" class="zcy.test.aop.ExpessionInterceptor" /><!-- 声明自定义拦截器栈 --><interceptor-stack name="expessionStack">                <interceptor-ref name="defaultStack"/>                                <!-- 配置使用自定义拦截器 -->                <interceptor-ref name="expessionInterceptor"/>                            </interceptor-stack></interceptors><!-- 配置修改struts2框架运行时,默认执行的是自定义拦截器栈 --><default-interceptor-ref name="expessionStack" />

这样就ok了,一个简单的struts2自定义拦截器就ok了。。。小狼说的够清楚了吧。亲爱的亲们留下你们的观后感吧。

0 0
原创粉丝点击