曾经做了一个取消订单的功能。这个功能在个人中心里面有,在订单的详细页面也有。按照正常的思路,这两块都可以提交到相同的action去处理,但是返回的页面是不一样的,都是返回到当前页面就可以了。
简单地说,就是在个人中心页面,该客户点击取消订单,提交到某个action,进行数据库的操作,将一张表中的字段值改变,然后重新返回到个人中心页面,只是那里的“取消”按钮变成了灰色的“已取消”就OK了,而在订单的详细页面,也是相同的,提交到相同的acion,但是返回页面不是个人中心页面,而是订单的详细页面。
(责任编辑:admin)这时候可以考虑用js保存当前路径,写到cookie中,在acion中获取到该路径,通过get/set方法,只需要在<result></result>中写上该路径的el表达式就行了。 代码如下: <script type="text/javascript"> function saveUrlAndGo(url, form) { document.cookie = "returnUrl=" + escape(location.pathname + location.search); if (form) { form.action = url; form.submit(); } else { location.href = url; } } </script> 因此只要在action中配置好returnUrl,就可以很方便地解决这个问题,而不必写两个action了。 |