问题:struts2 的 interceptor 拦截后return error 后,action仍能够执行

manjuhaha 2008-07-16 10:41:20
问题:struts2 的 interceptor 拦截后return error 后,action仍能够执行
相关代码:
Jsp:
function checkVal(){
with(document. fun_save){
if(title.value ==""){
alert("请输入主题!");
title.focus();
return;
}
submit();
}
}
<s:form name="fun_save" action=" fun_save.html" method="post">
<s:token/>
……所填内容……
<input type="submit" name="Submit" onclick="javascript:checkVal();" value="确 定"/>
</s:form>

struts.xml:
<action name=" fun_save " class="XXAction" method="save">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result name="error">error.jsp</result>
<result name="success">success.jsp</result>
<result name="invalid.token">/error.jsp</result>
</action>

问题详细说明:
1、 当jsp的form提交后,interceptor-token 判断为重复提交,返回error.jsp,但是XXAction的save方法仍能够执行
2、 interceptor-token经常判断是重复提交,把
<s:form name="fun_save" action=" fun_save.html" method="post">
改成<form name=" fun_save " action=" fun_save.html" method="post" >
<input type="submit" name="Submit" onclick="javascript:checkVal();" value="确 定"/>改成
<input type="button" name="btn" onclick="javascript:checkVal();" value="确 定"/>
就好了,原因我觉得是否是因为 type="submit" 引起的?

有哪位能给解释一下???
...全文
183 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
manjuhaha 2008-07-16
  • 打赏
  • 举报
回复
interceptor-token用的是框架提供的,而<result name="invalid.token">/error.jsp </result> 是指如果重复提交的话返回的页面,这个和webwork里面是一样的。以前在webwork里面没有遇到这种问题,在struts2里面就遇到了
zhumin726 2008-07-16
  • 打赏
  • 举报
回复
拦截器的
intercept方法写错了,估计
在这里如果是重复的就直接return 不能invoke了
manjuhaha 2008-07-16
  • 打赏
  • 举报
回复
没人回答吗?????

67,538

社区成员

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

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