1.Understanding Interceptors(理解拦截器的工作原理)
拦截器主要是为了完成action执行前的有些准备工作,以及action完成的有些扫尾工作。
拦截器可以中端action的执行过程。
拦截器定义在拦截器栈中,并且按照一定的顺序执行。
struts2拦截器的调用主要通过ActionProxy所代理的action对象来实现interceptor的调用。
2.Configuring Interceptors
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="timer" class=".."/>
<interceptor name="logger" class=".."/>
</interceptors>
<action name="login"
class="tutorial.Login">
<interceptor-ref name="timer"/>
<interceptor-ref name="logger"/>
<result name="input">login.jsp</result>
<result name="success"
type="redirectAction">/secure/home</result>
</action>
</package>
拦截器可以是包级别或者action级别。并且能够覆盖。
3.Stacking Interceptors
可以参考struts-default.xml中的配置。
4.Framework Interceptors(框架定义好的拦截器)
详细参考struts应用。
Method Filtering
方法过滤
例如validation中可以过滤那些方法需要表单验证,那些方法不需要
Interceptors that extends this capability include:
TokenInterceptor
TokenSessionStoreInterceptor
DefaultWorkflowInterceptor
ValidationInterceptor
可以定配置的参数有
excludeMethods - method names to be excluded from interceptor processing
includeMethods - method names to be included in interceptor processing
如果一个方法同时存在于以上两个参数则includeMethods优先。
Interceptor Parameter Overriding
重写以上参数的形式有如下两种
<action name="myAction" class="myActionClass">
<interceptor-ref name="defaultStack">
<param name="validation.excludeMethods">myValidationExcludeMethod</param>
<param name="workflow.excludeMethods">myWorkflowExcludeMethod</param>
</interceptor-ref>
</action>
<action name="myAction" class="myActionClass">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="params"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">myValidationExcudeMethod</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">myWorkflowExcludeMethod</param>
</interceptor-ref>
</action>
分享到:
相关推荐
《Kotlin for Android Developers》中文版是一本专为Android开发者准备的Kotlin编程语言指南。这本书深入浅出地介绍了Kotlin这一现代、简洁且强大的编程语言,旨在帮助开发者快速掌握Kotlin并将其应用到Android应用...
《Kotlin for Android Developers》是一本专为Android开发者设计的Kotlin编程语言指南。这本书深入浅出地介绍了Kotlin的基础知识、特性和实践应用,旨在帮助Android开发者快速过渡到使用Kotlin进行开发。 Kotlin是...
2-day-developers-guide.pdf
标题中的"PyPI 官网下载 | developers-chamber-0.0.38.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包。PyPI是Python社区的标准软件仓库,它允许开发者上传和分享他们的Python项目,使得其他...
Tosi -- Matplotlib for Python Developers -- 2009 -- code.7z
Nandi -- Spark for Python Developers -- 2015 -- code.7z
《Kotlin for Android Developers》中文版是一本专为Android开发者设计的Kotlin编程语言指南。这本书深入浅出地介绍了如何将Kotlin应用到Android开发中,帮助开发者从Java或其他语言平滑过渡到Kotlin,充分利用其...
《Kotlin in Action》与《Kotlin for Android Developers》是两本非常重要的书籍,对于学习和精通Kotlin编程语言,尤其是对于Android开发人员来说,它们是不可或缺的资源。这两本书籍深入浅出地介绍了Kotlin的语法...
AUTOSAR Training for Software Developers - 01-Why AUTOSAR-Part2.pdf
2. **空安全**:Kotlin强制类型安全,避免了Java中的NullPointerException。 3. **类型推断**:Kotlin可以自动推断变量和参数的类型,减少了冗余代码。 4. **扩展函数与属性**:允许为已有类添加功能,无需继承或...
标题“matching-developers-back”可能指的是一个项目或者技术解决方案,主要目标是匹配开发者与特定的后端开发需求。虽然没有提供详细的描述或标签,我们可以基于常见的后端开发实践和匹配策略来探讨相关知识点。 ...
SIP2开发者指南 3M Standard Interchange Protocol V2.00 3M™ SelfCheck™ system SIP2 Interface Developer’s Guide
本书《kotlin-for-android-developers-zh》主要面向Android开发者,旨在通过Kotlin语言的应用开发来帮助他们学习Kotlin。作者采用了一种非传统的学习方法,即通过实践项目来讲解Kotlin的语法和特性,而非单纯的理论...
AUTOSAR Training for Software Developers - 01-Why AUTOSAR-Part3.pdf
AUTOSAR Training for Software Developers - 01-Why AUTOSAR-Part1.pdf
AUTOSAR Training for Software Developers - 01-Why AUTOSAR-Part4.pdf
《Kotlin-for-Android-Developers》是一本专注于教授如何使用Kotlin语言进行Android应用开发的书籍。这个压缩包中的"Kotlin-for-Android-Developers-master"包含了书作者所编写的源代码,这些源码提供了实际的示例,...
zebradesigner3-developers-321570.exe 斑马打印机条码编辑软件
CSharp for Java Developers - Cheat Sheet C#开发者 学 JAVA