struts2拦截器调用addActionError无效?

lanicetomas 2010-04-12 01:16:58
在拦截器里面,
public String intercept(ActionInvocation actionInvocation) throws Exception {

把actionInvocation转换成ActionSupport后,调用addActionError或addActionMessage

}

但添加的错误信息或者消息,无法显示在视图上!

产生这种情况是什么原因?

...全文
285 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitfoolbear 2011-06-26
  • 打赏
  • 举报
回复
((ActionSupport)actionInvocation.getAction()).addActionError("错误消息");
JavaMan_KA 2011-06-26
  • 打赏
  • 举报
回复
可以通过<s:debug></s:debug>看一下,找找错误。
redlotus_lyn 2010-04-19
  • 打赏
  • 举报
回复
invoke()方法:是调用下一个拦截器或Action。估计实现不了
redlotus_lyn 2010-04-16
  • 打赏
  • 举报
回复
1.拦截器设置错误信息

public String intercept(ActionInvocation arg) throws Exception {
TestAction action = (TestAction) arg.getAction();
action.addFieldError("1", "Name is Required!");
return arg.invoke();
}
注:TestAction就是你要设置信息的那个Action类。

2.拦截器引用
<action name="请求名" method="doTest" class="testAction">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="自定义拦截器"></interceptor-ref>
<result>
/index.jsp
</result>
</action>

注:defaultStack是struts2默认拦截器。
lanicetomas 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 redlotus_lyn 的回复:]
1.拦截器设置错误信息

public String intercept(ActionInvocation arg) throws Exception {
TestAction action = (TestAction) arg.getAction();
action.addFieldError("1", "Name is Required!");
return arg.in……
[/Quote]

我要在invoke后才能添加错误信息的。
在invoke之前添加是能显示出来的。
lanicetomas 2010-04-12
  • 打赏
  • 举报
回复
我顶~~~~
lanicetomas 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tubage408 的回复:]
你写的这个拦截器怎么配置的呀?
再者
com.opensymphony.xwork2
Interface ActionInvocation
All Superinterfaces:
Serializable
All Known Implementing Classes:
DefaultActionInvocation, DWRValidator.ValidatorAction……
[/Quote]

当然是getAction()!
tubage408 2010-04-12
  • 打赏
  • 举报
回复
你写的这个拦截器怎么配置的呀?
再者
com.opensymphony.xwork2
Interface ActionInvocation
All Superinterfaces:
Serializable
All Known Implementing Classes:
DefaultActionInvocation, DWRValidator.ValidatorActionInvocation, MockActionInvocation, MockActionInvocation
怎么能把ActionInvocation转换成ActionSupport呢?
我觉得你应该ActionInvocation 实现类的实例的Object getAction() 得到具体的action在调用addActionError或addActionMessage
tubage408 2010-04-12
  • 打赏
  • 举报
回复
加个 <s:debug></s:debug>看看
BearKin 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 lanicetomas 的回复:]
在拦截器里面,
public String intercept(ActionInvocation actionInvocation) throws Exception {

把actionInvocation转换成ActionSupport后,调用addActionError或addActionMessage

}

但添加的错误信息或者消息,无法显示在视图上!

产生这种情况是……
[/Quote]

不是很了解这个 不过我感觉不一定非得用这种提示错误的方式啊
如果一定要用的话 可以通过该拦截器转发给另外一个ACTION再由那个ACTION来调用该方法我想也是可以的吧
Trinx 2010-04-12
  • 打赏
  • 举报
回复
struts2的拦截器没用过,也没打算用。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧