PrepareInterceptor拦截器用于执行自己定义的方法之前执行一段操作,使用此拦截器需要以下几个步骤
1.让Action实现Preparable接口,该接口中有一个要实现的方法prepare()
2.将需要执行的逻辑放在prepare()方法中,或者,如果自己定义的方法名字叫做XXX,可以加上prepareXXX()方法或者prepareDoXXX()方法
以上提到了3个方法分别是prepare(),prepareXXX(),prepareDoXXX(),拦截器执行3个方法执行的顺序是
先寻找prepareXXX(),如果没有该方法,就寻找prepareDoXXX(),最后执行prepare()方法,需要注意的是,prepareXXX()和prepareDoXXX()都存在的话,只会执行prepareXXX()方法,prepare()方法是最后执行的,并且是一定会执行的,prepare()方法用于在你定义的所有的方法之前进行预处理,而prepareXXX()与prepareDoXXX()只能用于XXX方法之前的预处理,可以根据需要灵活选择
分享到:
相关推荐
可以使用Struts2的拦截器来实现这些功能,比如使用`FileSizeInterceptor`和`FileTypeInterceptor`来限制文件大小和类型,使用`PrepareInterceptor`来转义输出的HTML内容,防止XSS注入。 总结来说,"使用ckeditor+...
常见的拦截器有ValidationInterceptor(字段验证)、PrepareInterceptor(初始化Action属性)和ResultInterceptor(处理结果)。 **6. 表单和字段验证** Struts2提供了强大的表单验证功能,通过XML或者注解方式定义...
默认拦截器栈包含了Struts2框架预定义的一些拦截器,如`ExceptionMappingInterceptor`用于处理异常,`PrepareInterceptor`用于准备Action,`ModelDrivenInterceptor`用于模型驱动等。 3. `destroy()`: 这个方法在...
例如,`PrepareInterceptor`用于准备Action属性,`ValidationInterceptor`进行字段验证。 4. **结果类型(Result)**:Struts2允许你定义多种结果类型,如JSP、FreeMarker模板、Redirect等,来决定请求处理后跳转的...
比如,`ValidationInterceptor`可以自动进行表单验证,`PrepareInterceptor`可以提前初始化Action对象的属性。自定义拦截器可以实现特定的功能,如日志记录、权限控制等。 5. **Result类型**: 结果类型决定了...
项目中可能包含预定义的拦截器,如`PrepareInterceptor`、`ExceptionInterceptor`,也可能有自定义拦截器以满足特定需求。 4. **Result类型**:结果类型定义了Action执行后跳转的目标页面。通常,结果可能是JSP、...
- **拦截器的使用**:定义自定义拦截器或使用内置拦截器,如PrepareInterceptor、ValidationInterceptor,实现特定的业务逻辑。 5. **安全注意事项**: - Struts 2框架曾发现过严重的远程代码执行漏洞,如CVE-...
常见的拦截器包括PrepareInterceptor、ValidationInterceptor和ExceptionMappingInterceptor。 五、动态方法调用(Dynamic Method Invocation,DMI) Struts2支持动态方法调用,允许通过URL直接调用Action中的方法,...
Struts2Demo中可能包含了预定义的拦截器,如`PrepareInterceptor`用于准备Action上下文,`ValidationInterceptor`用于验证表单数据等。 5. **Value Stack**:Struts2使用Value Stack存储Action的属性和值,这些值...
通过`<param>`标签,我们可以自定义拦截器的行为,比如`prepare.alwaysInvokePrepare`被设置为`false`,意味着只有当Action类中有`@Preparable`注解或者实现了`PrepareInterceptor`接口时,`PrepareInterceptor`才会...
常见的拦截器有PrepareInterceptor(预处理)、ValidationInterceptor(表单验证)和StackInterceptor(默认拦截器栈)。 5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,允许在...
此外,它还包含了Struts的核心拦截器,如PrepareInterceptor、ExecuteInterceptor等,这些拦截器负责处理请求、准备动作上下文以及执行实际的动作。 2. **struts-plugin.jar**:这个JAR文件包含Struts的插件支持,...
常见的拦截器有`ValidationInterceptor`用于表单验证,`PrepareInterceptor`用于初始化Action属性等。 4. **结果类型(Result)**:结果类型定义了Action执行后如何呈现结果,如转发、重定向、流结果等。默认的结果...
例如,`ValidationInterceptor`用于验证表单数据,`PrepareInterceptor`用于初始化Action对象。 4. **Result**:Action执行后会返回一个Result,决定如何展示结果。Result可以是简单的JSP页面,也可以是更复杂的...
常见的拦截器链包括PrepareInterceptor、ValidationInterceptor、ExceptionMappingInterceptor等。 5. **插件机制**:Struts2具有丰富的插件库,如Struts2-Convention插件可以自动发现Action,Struts2-dojo-plugin...
7. **Struts拦截器**:Struts提供了一系列拦截器,如PrepareInterceptor、ValidationInterceptor,可以用来进行请求预处理和验证,提高代码复用。 8. **整合流程**:当用户发送请求时,Struts框架接收到请求,通过...
Struts2的强大之处在于其灵活的拦截器链,例如,`TilesPlugin`用于集成Tiles视图定义,`ValidationInterceptor`用于表单验证,`ExceptionMappingInterceptor`处理异常,`PrepareInterceptor`负责Action实例的初始化...
`com.opensymphony.xwork2.interceptor`包下的类如`ValidationInterceptor`用于验证用户输入,`PrepareInterceptor`用于准备动作实例。 4. **Struts配置**:Struts2允许通过XML或注解进行配置。`struts-default.xml...
例如,`ValidationInterceptor`用于验证表单数据,`PrepareInterceptor`用于准备Action实例。通过配置文件可以自由组合拦截器栈。 4. **结果类型**:定义了Action执行后如何呈现结果。常见的结果类型有`dispatcher`...
- 拦截器链:根据需求配置Struts2的拦截器,如ValidationInterceptor、PrepareInterceptor等。 这个“ssh最少jar包”可能是针对特定环境和需求优化过的,确保了SSH框架的最小化运行,减少了可能的冲突和额外的内存...