首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

使用Struts的Token机制,控制form重复提交,该如何解决

2012-04-02 
使用Struts的Token机制,控制form重复提交小弟用struts做了个系统,但是出现过form重复提交,现在知道Struts

使用Struts的Token机制,控制form重复提交
小弟用struts   做了个系统,但是出现过form重复提交,现在知道Struts的Token机制能解决这个问题,但是不知道具体怎么用,请问有哪个大哥能教教我

[解决办法]
不知道那个机制
我的方法是这样的

首先在form里实现reset()方法,把所有属性=null;
然后在action里,用完form后,做form.reset();

OK
[解决办法]
在Action类里面的execute里面
写上
this.saveToken(request);

在提交的方法中

if (!isTokenValid(request, true)) {
//
}
进行判断是否重复提交
[解决办法]
this.saveToken(request);
后,表单里面会自动产生这样的隐藏输入表单域
<input type= "hidden " name= "org.apache.struts.taglib.html.TOKEN " value= "6602b5d7c9e511229ad845823b2becd2 ">
[解决办法]
提交页面前一个actionsaveToken(request);


提交页面 <input type= "hidden " name= "org.apache.struts.taglib.html.TOKEN "
value= " <%=session.getAttribute( "org.apache.struts.action.TOKEN ")%> "/>


处理提交的actionif(isTokenValid(request,true)){
//commonDataBean.executeUpdate(sql);//处理执行sql语句代码
resetToken(request);
}else{
saveToken(request);
}
[解决办法]
认真看了我写的内容的意思了吗?

<input type= "hidden " name= "org.apache.struts.taglib.html.TOKEN "
value= " <%=session.getAttribute( "org.apache.struts.action.TOKEN ")%> "/>
把这句原封不动的加到页面的from中。。。

热点排行