解决这个问题有好几种办法,我下面举出一种用Token解决的办法,希望大家把自己的解决办法发表出来,用Token解决需要注意几点,一点首先程序的入口应该是一个action,而不是jsp,这个action的作用就是生成token,然后转向jsp页面,然后这个jsp页面里面的提交按钮会提交到另外一个action,这个action获得表单里面的数据,然后判断是不是重复提交#isTokenValid(request,true)。如果为true执行数据库方面的操作。false是表单重复提交,执行其它操作。
InitInsertAction.java
//生成同步令牌避免表单重复提交
saveToken(request);
return mapping.findForward(IConstants.SUCCESS_KEY);
InsertAction.java
NewsModel newsModel = new NewsModel();
//对象反射机制
BeanUtils.copyProperties(newsModel,newsForm);
newsModel.setNewsPublishTime(DateUtil.getCurrentTime());
newsModel.setNewsKind(newsForm.getNewsKind());
newsModel.setNewsContent(content);
//图片文件路径
if(imageFile!=null&&!imageFile.equals("")){
newsModel.setImagePath("/UploadFiles/"+imageFile);
}
//小图片文件路径
/**if(iconFile!=null&&!iconFile.equals("")){
newsModel.setIconPath("/UploadFiles/"+iconFile);
}*/
//数据库方面的处理#插入一条新闻
INewsDao newsDao = new JdbcNewsDaoImpl(con);
newsDao.insertNews(newsModel);
}else{
//表单重复提交
if(log.isDebugEnabled()){
log.debug("表单重复提交");
}
}
posted on 2006-05-09 18:14
选宝网an9 阅读(545)
评论(0) 编辑 收藏 所属分类:
FRAMEWORK