关于jsp页面刷新,触发之前进入jsp页面的action的问题

问题描述

本人正在做一个购物网站,有一个action完成的功能是:从session里获取购物车,并转换为订单,在把订单并保存到数据库和session里,然后跳转到一个订单展示页面,现在问题来了:我在展示页面刷新页面,action里会再次从session里获取购物车,转换为订单,再次插入数据库,请问各位大牛这个问题该怎么解决啊?已经困扰很多天了————一个小白的烦恼

解决方案

解决方案二:
第一次保存的时候往session加一个flag第二刷新的时候判断session中是否存在这个flag
解决方案三:
刷新时会再次保存会不会再次调用保存方法为什么会再次调用保存方法可不可以避免
解决方案四:
引用1楼sc6231565的回复:

第一次保存的时候往session加一个flag第二刷新的时候判断session中是否存在这个flag

谢谢啊一语点醒梦中人
解决方案五:
引用2楼ella110727的回复:

刷新时会再次保存会不会再次调用保存方法为什么会再次调用保存方法可不可以避免

我最后是通过设置一个flag实现不保存的,不知道struts2有没有提供什么方法来避免这中因刷新引起的不必要的操作
解决方案六:
引用4楼chenxueping123的回复:

Quote: 引用2楼ella110727的回复:
刷新时会再次保存会不会再次调用保存方法为什么会再次调用保存方法可不可以避免

我最后是通过设置一个flag实现不保存的,不知道struts2有没有提供什么方法来避免这中因刷新引起的不必要的操作

struts2才用的令牌机制来避免二次提交原理和设置flag标记差不多
解决方案七:
楼主记得结贴给分哦
解决方案八:
引用6楼sc6231565的回复:

楼主记得结贴给分哦

时间: 2024-08-04 12:27:07

关于jsp页面刷新,触发之前进入jsp页面的action的问题的相关文章

jsp全局变量与局部变量在JSP页面刷新后的变化?

问题描述 jsp全局变量与局部变量在JSP页面刷新后的变化? 解决方案 局部变量在对应区块以局部变量为准,否则以全局变量为准. 解决方案二: 全局变量和局部变量同时可见且命名相同,操作时以局部变量为准. 否则,以全局变量为准 解决方案三: 局部变量能访问到的以局部变量为准,否则以全局变量为准. 解决方案四: 这个说的是变量的生存周期.一个页面内定义的变量,属于这个页面对象.而每次独立的请求,jsp都会产生一个新的页面对象,彼此无涉.所以不会相互影响. 解决方案五: 页面刷新局部变量和全局变量都回

如何在一个JSP页面中调用另一个JSP页面中的变量

在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象-request对象获取参数: (1)通过超链接传参: 例:把a.jsp中i的值传到b.jsp中: 在a.jsp页面中的核心代码为: <a href="b.jsp?i=1">传参</a>     (说明:给i赋值时也可以用jsp表达式,例如i=<%变量名 %>) 在b.jsp页面中的核心

jsp页面框架中调用的jsp页面为什么显示的是页面代码?

问题描述 jsp页面框架中调用的jsp页面为什么显示的是页面代码? 我用jsp做了4个jsp页面,index.jsptop.jspleft.jspright.jspindex.jsp为框架页面,代码:<%@ page language=""java"" import=""java.util.*"" pageEncoding=""gbk""%><%String path

用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值

问题描述 用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值 2C 这是servlet: public class OrderListServlet extends HttpServlet { public void doGet(HttpServletRequest request HttpServletResponse response) throws IOException ServletException{ List<Order> list = new

asp.net怎么实现 在a页面中 通过button 在b页面的iframe里 打开c页面?

问题描述 asp.net怎么实现 在a页面中 通过button 在b页面的iframe里 打开c页面? 我现在首页上有个上传的按钮,如果没登录,点击会提醒登录,如果登陆了,就跳到会员中心的上传界面,会员中心是左侧显示菜单,右侧iframe显示界面,上传本身就是菜单中的一项,不知道怎么实现这个跳转,求助求助~~ 解决方案 <inpupt type="text" onclick="<%=Session["isonline"]==null?"

spring security 中,配置登录页面,登录页面的action一定要是j_spring_security_check吗?

问题描述 我自定义了一个登录页面,登录的action也是自己定义的,主要是去数据库验证用户名和密码是否正确.然后把当前用户存在session中.可发现Security 的http配置完后,拥有权限的用户并不能正确进入页面,都被拦截然后重定向到登录页面.因为初次使用security,有没高手给点意见,哪儿出了问题?截取配置片段:<http><form-login login-page="/demo/user/login" login-processing-url=&qu

jsp页面刷新后保留文本输入框和下拉框的值

保留下拉框 <select name="status">     <option value="all" <c:if test="${status eq 'all'}">selected</c:if>>状态</option>     <option value="notstart" <c:if test="${status == 'notstar

急,急,急: 前提是两个页面,如何从b.aspx页面的Calendar选择的日期在a.aspx的TextBox中接收,而且a.aspx是基于母版页中MasterPage.master??

问题描述 如果a.aspx不是基于母版页中MasterPage.master中,下面语句就可以把值传过去,Response.Write("<scriptlanguage=JavaScript>window.opener.document.all.TextBox1.value='"+Calendar1.SelectedDate.ToShortDateString()+"'</script>");但a.aspx基于母版页中MasterPage.m

在JSP页面中获取当前日期时间的方法_JSP编程

1. <SCRIPT LANGUAGE="JavaScript"> var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,