public ActionForward init(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws Exception { //处理代码
/* 加入令牌 */
saveToken(request);
/* 页面跳转目标 */
return mapping.findForward(FORWARD_init);
}
public ActionForward saveFeedBackMess(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) { //其他代码 /* 判断是否重复提交 */
if (isTokenValid(request, true)) {
/* 保存的方法 */
bservice.saveFeedBackMess(lw);
} else {
log.info("重复提交");
saveToken(request);
} /* 页面跳转目标 */
return mapping.findForward(FORWARD_init);}大家帮我看下这段代码有错吗?第一次提交是重复提交,我刷新也是重复提交?
HttpServletResponse response) throws Exception { //处理代码
/* 加入令牌 */
saveToken(request);
/* 页面跳转目标 */
return mapping.findForward(FORWARD_init);
}
public ActionForward saveFeedBackMess(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) { //其他代码 /* 判断是否重复提交 */
if (isTokenValid(request, true)) {
/* 保存的方法 */
bservice.saveFeedBackMess(lw);
} else {
log.info("重复提交");
saveToken(request);
} /* 页面跳转目标 */
return mapping.findForward(FORWARD_init);}大家帮我看下这段代码有错吗?第一次提交是重复提交,我刷新也是重复提交?
<html>
<head>
</head>
<body>
<div>
<!-- 其他代码 -->
<table align="center" width="110%" >
<iframe id="leavemessage" src="<%=path%>/leaveWordAction.do? method=init&pageCount=15&infoId=<%=id %>" name="leavemessage" frameborder=0 framespacing=0 width=100% height="1304" marginheight=0 marginwidth=0 noResize vspale="0" scrolling="no"></iframe>
</table>
</div></body>
</html>
可能是resetToken吧。
这样就可以解决你说的问题了
if (isTokenValid(request, true))
还得resetToken
首先,在iframe请求的url之后跟一个参数把token一并提交到后台
然后,按照10楼所说验证TOKEN是否有效,再resettoken就可以了
如果你<html:form ... 应该可以如果你用Html的表单,直接form好像就不行,你可以试试