struts 刷新提交的问题 在用struts提交表单的时候,提交后的页面和提交前的页面是同一个jsp,url的地址还是xxxx.do?method=xx,这样刷新以后还会再次提交,如果在forword中添加了direct=true,倒可以转到一个静态jsp中,可是隐藏的参数再次提交的话就会得不到,大家遇到这种情况都是怎么解决?用token?每一个action都写的话有点麻烦。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用token,写一个BaseActionclass BaseAction extends Action {... execute(...) { if (tokenIsValid(..)) { abstract childExecute(...) }}}其它类都继承这个类,然后实现abstract childExecute方法即可 最好用token别的没有用过,防止重复提交 除了查询的*.do其他都要用direct=true,写一下不是很累的如果不想写,也可以在action中用response.sendRedirect http://hi.baidu.com/%B3%BF%D1%F4%C2%FE%B2%BD/blog/item/c25b9fb44575ff718bd4b2d9.html以用户注册为例:在用户请求newUser.jsp之前,首先把请求转发到PrepareAction,PrepareAction 调用saveToken方法,创建一个新的令牌,并将令牌值保存在当前HttpSession中(新创建的),PrepareAction接着把请求转发给newUser.jsp.newUser.jsp中的<html:form>标签自动判断在session范围内是否存在Token,如果存在,就自动在表单中生成一个包含Token信息的隐藏字段,例如: <input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="....">在用户提交表单后,由InsertUserAction处理请求.在InsertUserAction中,调用isTokenValid方法,判断当前用户会话中的令牌值和请求参数中的令牌值是否匹配.如果匹配,就调用resetToken方法,删除Token,然后执行插入数据操作.如果不匹配,返回相关错误提示,进行相关操作.OK.酱紫就可以有效放置重复提交了. 关注下,没用过structs正打算学呢,我们用EOS5.6,平时遇到这种问题直接sendRedirect struts token 很好解决这个问题,楼主可以google下 token lz struts没仔细学... struts确实没有仔细学,惭愧! 还是使用Token,实际上工作量并不会太大 当然可以用token的原理来解释这个问题 hibernate问题.真急。帮帮忙..没分了..不好意思。只有20 hibernete自动生成数据库 一个困惑很久的多表查询问题代码全帖上,希望给予帮助 javascript的问题 string转double时出现的问题! 一个关于分页的问题,在线等,谢谢 这个ajax问题有点奇怪 大家帮我看看 jsp联接mysql数据出问题各位来帮帮忙,救救我!!!!! 那位大哥知道sina和163得了聊天室是如何实现的,使用了什么技术,请简单介绍一下 请问在JRUN下如何DEBUG JSP?? 程控交换机开发 java applet 跨域读取数据
if (tokenIsValid(..)) {
abstract childExecute(...)
}
}}其它类都继承这个类,然后实现abstract childExecute方法即可
如果不想写,也可以在action中用response.sendRedirect
以用户注册为例:
在用户请求newUser.jsp之前,首先把请求转发到PrepareAction,PrepareAction 调用saveToken方法,创建一个新的令牌,并将令牌值保存在当前HttpSession中(新创建的),PrepareAction接着把请求转发给newUser.jsp.newUser.jsp中的<html:form>标签自动判断在session范围内是否存在Token,如果存在,就自动在表单中生成一个包含Token信息的隐藏字段,例如:
<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="....">在用户提交表单后,由InsertUserAction处理请求.在InsertUserAction中,调用isTokenValid方法,判断当前用户会话中的令牌值和请求参数中的令牌值是否匹配.如果匹配,就调用resetToken方法,删除Token,然后执行插入数据操作.如果不匹配,返回相关错误提示,进行相关操作.OK.酱紫就可以有效放置重复提交了.
lz struts没仔细学...