环绕过滤器能够在Action执行之前和之后执行一段代码,相比前置过滤器和后置过滤器而言更加强大。可以为Action设置多个环绕过滤器,通过在控制器上进行注解:
@AroundFilters({
@AroundFilter(execute=A.class),
@AroundFilter(execute=B.class)
})
public class ApplicationController extends Controller{
环绕过滤器可以接受only和except参数以控制在那些Action上执行。
注意前置和后置过滤器的execute是执行的方法名称,而环绕过滤器的execute是一个类,这个类必须实现AroundHandler接口,或者继承AbstractAroundHandler类。
多个环绕过滤器的执行是嵌套的,如上例的执行顺序如下:
A.before
B.before
Action
B.after
A.after
环绕过滤器可以处理身份验证,错误处理,日志处理,事务控制等,比如在Action中操作数据库的代码,如果需要事务控制,可以写上
try{
beginTransaction();
...
commit();
}
catch(Exception ex){
rollback();
}
之类的代码,但利用环绕过滤器可以有更优雅的做法,这时Action代码保持不变,注解加上事务过滤器就好,过滤器代码如下所示:
public class TranFilter extends AbstractAroundHandler{
@Override
public boolean before(Controller controller) throws Exception{
ActiveRecordBase.beginTransaction();
return true;
}
@Override
public boolean after(Controller controller) throws Exception{
if (controller.getException() == null){
ActiveRecordBase.commit();
}
else{
ActiveRecordBase.rollback();
}
return true;
}
}
before方法保证执行在Action 之前,after则执行在Action之后,且只要before执行成功,保存一定会执行after。这样,在需要事务控制的控制器上,只要加上
@AroundFilter(execute=TranFilter.class, only={"update","create"})
这样的代码就行了。
关于etmvc的详细资料,请访问www.etmvc.cn
分享到:
相关推荐
本文档主要介绍Web项目中的Jsp过滤器,为Web开发提供帮助和支持,本文知识较浅,但也比较用,适合刚开始接触开发的同学
基于有限元(FEM)的广义边界控制法可应用于求解固体力学的反问题。带有柯西数据(部分边界的温度值与热流值)的多层热传导边界识别问题是一类反向热传导问题。研究用该方法求解带有柯西数据的一维多层热传导边界识别...
基于控制规划的边界层滑模控制,赵文杰,刘吉臻,提出了一种基于控制规划的边界层滑模控制方法。在对传统边界层方法分析的基础上,通过对切换控制作用的规划设计,一个固定的边界
高等学校专业教材《数值分析》第96页例8-2的例子,利用自由边界三次样条函数拟合函数
论文研究-一类不确定离散非线性系统的边界层自适应模糊滑模控制.pdf, 研究了一类不确定离散非线性系统的模糊滑模控制问题,提出了一种基于边界层模糊自适应的模糊滑模...
2021年香港最新最全路网、水网、建筑、土地利用矢量数据+行政区划边界+shp数据+wgs84坐标
UDF ,边界条件,主要是用UDF来改变边界条件,以此调节输出值,这是个改变温度的输出。
全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv全国地级市边界.csv...
利用Mapinfo自带Voronoi功能制作TACLACBSC边界线.pdf
利用边界路由器实现校园网边界安全.pdf
基于USB接口的边界扫描控制器设计,陈真,李志华,随着大规模集成电路的发展,传统的基于探针的测试方法已经很难对复杂电路进行快速有效的测试,而边界扫描技术是一种标准的数字电
ENVI中利用矢量边界裁剪栅格数据详解 ENVI中利用矢量边界裁剪栅格数据详解
2021年西藏最新最全路网、水网、建筑、土地利用矢量数据+行政区划边界+shp数据+wgs84坐标
FLUENT中,利用UDF定义速度入口边界条件,大气边界层,指数风
为了控制网络空间的色情传播,利用浏览器助手对象可以在浏览器的地址空间内引入处理代码,构建对Web页面色情图像的过滤器。色情图像在色度空间YUV和YIQ中分布具有一定特性, 建立了一种基于椭圆边界的肤色模型用于肤色...
Transaction Manager(TM) :控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议; Resource Manager(RM) :控制分支事务,负责分支,状态汇报,并接收事务协调器的指令,驱动分支...
预测控制约束边界效应与解决方法研究.pdf
边界突破常见的思路和利用途径边界突破常见的思路和利用途径边界突破常见的思路和利用途径边界突破常见的思路和利用途径边界突破常见的思路和利用途径
车联网下基于MFD的过饱和路网多层控制边界动态划分方法.pdf
边界AI-Chat桌面版是一款基于人工智能的聊天机器人工具,具有以下特点: 智能对话功能:边界AI-Chat桌面版能够理解用户的输入,并提供智能化的回应。它使用自然语言处理和机器学习技术,能够模拟人类对话,提供个性...