解决Struts重复提交的问题
来源:百度文库 编辑:神马文学网 时间:2024/05/16 23:19:18
首先必须要通过一个Action再转向那个添加记录的页面,转向函数如下.
public ActionForward tokenTest(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
saveToken(request);//把一个token ID保存到Session,并在且要转到的页面
//的中添加一个的标答.
return mapping.findForward("add");
}
一个输出入页面如容如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
tokentest.jsp
页面的处理Action内容如下:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
TokenTestForm tokenTestForm = (TokenTestForm) form;
if(!isTokenValid(request)){ //重复提交
request.setAttribute("error","不能得复提交!!!");
//saveToken(request); 重新生成tokenid,
return mapping.findForward("return");
}else{
resetToken(request);
}
//执行相关操作
System.out.println(tokenTestForm.getUsername()+"--"+tokenTestForm.getAddress());
return mapping.findForward("ok");
}
至此已完成,至于原理,就自己去查一些资料就完全明白了....
public ActionForward tokenTest(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
saveToken(request);//把一个token ID保存到Session,并在且要转到的页面
//的
return mapping.findForward("add");
}
一个输出入页面如容如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
用户名 | |
地址: | |
页面的处理Action内容如下:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
TokenTestForm tokenTestForm = (TokenTestForm) form;
if(!isTokenValid(request)){ //重复提交
request.setAttribute("error","不能得复提交!!!");
//saveToken(request); 重新生成tokenid,
return mapping.findForward("return");
}else{
resetToken(request);
}
//执行相关操作
System.out.println(tokenTestForm.getUsername()+"--"+tokenTestForm.getAddress());
return mapping.findForward("ok");
}
至此已完成,至于原理,就自己去查一些资料就完全明白了....
解决Struts重复提交的问题
在struts用重定向解决重复刷新而多次重复的提交表单的问题 - yongtree的专栏 ...
使用Struts的Token机制解决表单的重复提交
使用Struts的Token机制解决表单的重复提交
用Struts的Token机制解决表单重复提交
重复的矿难 重复的问题
ASP技巧实例:几行代码解决防止表单重复提交
JSP和Struts正确解决用户退出问题
JSP和Struts正确解决用户退出问题
struts利用List多行提交
解决Struts分页显示
解决Struts分页显示
解决Struts分页显示
防刷新重复提交、防后退方法
快播播放器(qvod play)使用帮助 - 快播(QvodPlayer)问题提交与解决 ...
汉字编码问题 - 历史的重复 - 博客大巴
解决越用越慢的问题。
月经周期问题的解决
解决护肤的问题
PS批处理命令解决重复劳动的烦恼
eclipse下的struts资源文件中文问题
关于servlet和struts的配置问题自己想法
快播3常见问题解答(陆续更新) - 快播(QvodPlayer)问题提交与解决 - 快播 ...
【经验与技巧】--用好快播不得不看的技巧(更新至30条) - 快播(QvodPlayer)问题提交与解决 - 快播 - 高清视频点播专家 - Powered by Discuz!