老问题了,网上一找一堆解决办法,我还是有些疑惑,求高手解答我在前台页面点击“发布物品”,提交action去后台查询数据,返回到jsp。
由于加了拦截器用于防止重复提交,我在点发布物品后,会直接返回invalid.token值,然后跳到error.jsp这应该怎么解决?<a href="goodsAction_enterGoodsAddAction">发布物品</a><!-- 物品管理 -->
<action name="goodsAction_*" class="com.campus.foreground.action.GoodsAction" method="{1}">
<result name="invaild.token">error.jsp</result>
<result name="addSuccess">centerGoodsAdd3.jsp</result>
<result name="updateSuccess" type="chain" >goodsAction_retrieveGoodsAllAction</result>
<result name="error">error.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
由于加了拦截器用于防止重复提交,我在点发布物品后,会直接返回invalid.token值,然后跳到error.jsp这应该怎么解决?<a href="goodsAction_enterGoodsAddAction">发布物品</a><!-- 物品管理 -->
<action name="goodsAction_*" class="com.campus.foreground.action.GoodsAction" method="{1}">
<result name="invaild.token">error.jsp</result>
<result name="addSuccess">centerGoodsAdd3.jsp</result>
<result name="updateSuccess" type="chain" >goodsAction_retrieveGoodsAllAction</result>
<result name="error">error.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
<s:token/>是写在form里面么?
如:代码
var obj2=document.forma.isok; //点击提交后,按钮不可用
obj2.value="保存";
obj2.disabled=true; //点击提交后,按钮不可用
<from name="forma" ...>
....
<input type="submit" name="isok" value="添加" class="button">
</form>2、在提交后数据进行验证是否有重复。
你可以在js里写个函数。在返回处理结果的之前,将提交按钮disable掉。
第一步:在表单中加入<s:token />
<s:form action="helloworld_other" method="post" namespace="/test">
<s:textfield name="person.name"/><s:token/><s:submit/>
</s:form>
第二步:
<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result name="invalid.token">/WEB-INF/page/message.jsp</result>
<result>/WEB-INF/page/result.jsp</result>
</action>
提交之后用js把当前页面遮盖起来