1. 自定义Interceptor
//MyInterceptor.java
public class MyInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation invocation) throws Exception {
long start = System.currentTimeMillis(); //Action前做点事
String r = invocation.invoke(); //调用Action中的某个方法
long end = System.currentTimeMillis(); //Action 执行后再做点事
System.out.println("action time = " + (end - start));
return r;
}
}
//struts.xml
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="test" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="my" class="MyInterceptor"/> //向struts2注册自己的Interceptor
</interceptors>
<action name="test" class="TestAction">
<result>/test.jsp</result>
<interceptor-ref name="my"></interceptor-ref> //应用到这个Action上
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
2. 使用token拦截器防止重复提交
//struts.xml
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="test" namespace="/" extends="struts-default">
<action name="input" class="InputAction">
<result>/input.jsp</result>
</action>
<action name="user" class="UserAction">
<result>/addOK.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>
</package>
</struts>
//表单的写法
<form action="user" method="post">
name:<input name="name">
age:<input name="age">
<input type="submit" value="add">
<s:token></s:token>
</form>
分享到:
相关推荐
注意:flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-...
logging-interceptor-3.14.4的jar包,用于okhttp网络拦截器
logging-interceptor-3.8.1.jar , okhttp网络拦截器;调整积分为1分
这个"Postman-Interceptor-V1.1.2.zip"文件就是Interceptor的安装包,版本为1.1.2,适用于Chrome浏览器。 Interceptor的主要功能包括: 1. **实时同步**: 当在Chrome浏览器中进行网页操作时,Interceptor可以捕获...
flume拦截器 保留binlog es、data、database、table、type字段 分区字段名称: eventDate 放入 /opt/cloudera/parcels/CDH/lib/flume-ng/lib目录重启flume即可
maven-interceptor-3.0.1.jar
maven3-interceptor-3.0.0-1-sources.jar
maven3-interceptor-1.393.jar
包含Postman-Interceptor_v0.2.20.crx ,postman-4.1.2 两个插件; Postman-Interceptor_v0.2.20.crx直接拖到google浏览器即可安装; postman-4.1.2要在chrome开发模式下点击加载已解压的扩展程序 ,找到对应的文件夹...
"flume-interceptor.zip" 文件很可能是包含了自定义 Flume 拦截器的相关代码和配置,用于对数据进行特定的预处理。 拦截器(Interceptor)是 Flume 中的一个关键组件,它允许用户在数据流进入 Flume Agent 之前对其...
Postman Interceptor 谷歌浏览器插件 使用方法: 1.将zip解压 2.在chrome的【更多工具】-【扩展程序】里打开“开发者模式”,然后点击【加载已解压的扩展程序】,然后选择解压后的整个文件夹即可
从压缩包文件名“ajax-interceptor-master”来看,这可能是项目的源码仓库。通常,它会包含`src`目录下的源代码,`manifest.json`扩展配置文件,以及其他资源文件。开发者可以通过阅读源码了解其内部工作原理,甚至...
maven3-interceptor-1.397-sources.jar
uni-router-interceptor a simple router interceptor for uni-app uni-router-interceptor 是一个基于uni-app框架的纯路由拦截插件 由于自己的项目需要一个类似 vue-router 的路由拦截功能,本人考察了 uni 插件...
logging-interceptor-3.6.0
jboss-interceptor-api-3.1.0-CR3
maven-interceptor-3.0.1-sources.jar
maven-interceptor-3.0.1-1.jar
maven-interceptor-3.0.0-sources.jar
maven-interceptor-2.1.2-sources.jar