我一直在阅读Struts2文档中的StoreInterceptor
,它讨论了如何将StoreInterceptor添加到struts-config.xml
中的操作定义中,并且它很管用。但如果您要从操作中创建和添加actionerrors
,则情况就是如此。
我的问题是,我正在使用LoginInterceptor
进行登录,如果登录失败,它将添加一个ActionError
,如下所示:
((ActionSupport) invocation.getAction()).addActionError("Login failed");
它添加得很好,但当我进入在LoginInterceptor
之后调用的LoginAction时,ValidationAwareSupport.ActionErrors
为NULL
。
我认为通过像这样添加StoreInterceptor
,它将在请求或会话中存储ActionErrors
(使用operationMode
“store”
或“retreive”
参数):
<action name="login" class="...LoginFormAction" >
<interceptor-ref name="store">
<param name="operationMode">store</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="input" type="tiles">adminLogin</result>
<result name="success" type="tiles">adminLogin</result>
</action>
但不管用。我还尝试将StoreInterceptor
直接添加到defaultStack中,但这也不起作用。
StoreInterceptor
是否不仅用于在操作之间保存ActionErrors
,还用于在拦截器和操作之间保存ActionErrors
?
store
拦截器在两个操作之间工作,其中一个操作存储消息,另一个操作检索消息。
在您的配置中,您只有一个操作。第二个操作应配置为检索消息。
store
拦截器不能在action和拦截器之间或拦截器之间工作。
easyopen在1.3.1版本开始支持拦截器。 easyopen拦截器实现原理跟springmvc拦截器类似,拦截器作用在api方法上,即有@Api注解的方法。 拦截器定义如下: /** * 拦截器,原理同springmvc拦截器 * @author tanghc * */ public interface ApiInterceptor { /** * 预处理回调方法,
你可以配置处理器拦截器HandlerInterceptors或web请求拦截器WebRequestInterceptors等拦截器,并配置它们拦截所有进入容器的请求,或限定到符合特定模式的URL路径。 在MVC Java编程配置下注册拦截器的方法: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigure
Uragano里可以自定义拦截器,并且拦截器分服务器端拦截器和客户端拦截器 拦截器还分全局拦截器和局部拦截器,并且拦截器也是支持依赖注入的 创建拦截器 public class ClientGlobalInterceptor : InterceptorAbstract { private ILogger Logger { get; } public
拦截驱动器 bp GetDriveTypeA 获取磁盘驱动器类型 bp GetLogicalDrives 获取逻辑驱动器符号 bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径
主要内容:Struts2框架的拦截器:,如何使用拦截器?,创建自定义的拦截器,创建拦截器类:,创建动作类:,创建视图,创建页面:,配置文件,堆叠多个拦截器:拦截器的概念是Servlet过滤器或JDK代理类一样的。拦截器允许横切功能分开实现的动作,以及框架。使用拦截器,可以实现如下: 提供预处理行动之前被称为逻辑。 提供后处理逻辑动作后被调用 捕获异常,这样可以进行替代处理。 Struts2框架提供的许多功能都使用拦截实现的例子包括异常处理,文件上传,生命周期回调和验证等事实上作为Struts2的
自定义主键生成策略 更新对象时自动更新时间戳 删除对象时自动清除缓存 其他自定义Pojo行为 默认实现类DefaultPojoInterceptor 拦截器类型是通过@Table(interceptor=XXX.class)配置的,默认是DefaultPojoInterceptor DefaultPojoInterceptor当前实现了3个注解, @PrevInsert/@PrevUpdate/@