问题:struts2 的 interceptor 拦截后return error 后,action仍能够执行
问题: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" 引起的?
有哪位能给解释一下???