struts2 拦截器使用配置
来源:互联网 发布:apache io模型 编辑:程序博客网 时间:2024/06/05 03:56
创建拦截器class:
package com.oa.util.interceptor;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* @author 赜
* @version 创建时间:2010-9-19 下午02:34:20
* 类说明 :拦截器!!!!
*/
public class mwebInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
//取得请求的action名字
String name = invocation.getInvocationContext().getName();
//获取namespace的名字
String namespace = invocation.getProxy().getNamespace();
if((namespace != null)&&(namespace.trim().length()>0)){
if("/".equals(namespace.trim())){
}else{
namespace +="/";
}
}
String URL = namespace+invocation.getProxy().getActionName();
URL += ".action";
String loginname = ServletActionContext.getRequest().getSession().getAttribute("n ame").toString();
if(loginname!="赜"){
return Action.ERROR;
}else{
return invocation.invoke();
}
}
}
配置struts.xml
<package name="programa" namespace="/programa" extends="struts-default">
<interceptors>
<interceptor name="programainterceptor" class="com.oa.util.interceptor.mwebInterceptor" ></interceptor>
</interceptors>
<action name="delete" class="programaAction" method="delete">
<interceptor-ref name="programainterceptor"></interceptor-ref>
<result name="success" type="chain">
<param name="namespace">/programa</param>
<param name="actionName">list</param>
</result>
<result name="error">/mweb/error.jsp</result>
</action>
</package>
给programa中的delete方法设置拦截器,除了超级管理员以外的任何人不得删除信息。
配置Struts.xml时需注意:在package中定义自定义拦截器时要使用拦截器堆栈。设置Struts2默认的拦截器
<interceptors>
<interceptor name="newstypeinterceptor" class="com.oa.util.interceptor.mwebInterceptor" ></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="newstypeinterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"></default-interceptor-ref>
在每个需要用到拦截器的action中调用拦截器
<action name="deleteids" class="newstypeAction" method="deleteids">
<result name="success" type="redirectAction">
<param name="namespace">/newstype</param>
<param name="actionName">list</param>
<param name="parse">true</param>
<param name="la">${la}</param>
</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="newstypeinterceptor"></interceptor-ref>
</action>
拦截器的调用顺序 一定要把默认的放在前面!
- struts2 拦截器使用配置
- Struts2使用12 -- 拦截器2 -- 配置
- Struts2 自定义拦截器配置和使用
- Struts2 拦截器配置及使用
- Struts2拦截器的配置和使用
- Struts2 拦截器的使用及配置
- struts2拦截器的使用与配置
- Struts2拦截器配置
- struts2 拦截器配置
- Struts2配置拦截器
- 配置struts2拦截器
- Struts2拦截器配置
- struts2 拦截器配置
- Struts2拦截器配置
- struts2拦截器配置
- struts2 拦截器配置
- Struts2拦截器配置
- Struts2拦截器配置
- WNR2200拆机图
- 20130820-J-LINK -V8掉固件,灯不亮,USB无法识别的解决办法
- POJ-1696 极坐标排序
- Java添加水印(图片水印,文字水印)
- Struts2与FCK整合 请求冲突的解决方法
- struts2 拦截器使用配置
- mysql 远程访问和绑定IP
- txt文件数据导入MYSQL数据库
- java xml读写操作--------读取
- 验证码验证不同步处理方法
- TOMCAT停止-删文件-启动
- 图形验证码实现方法
- SmartUpload的使用方法
- 表单以EXCEL格式下载(JSP页代码)