Chinaunix首页 | 论坛 | 博客
  • 博客访问: 458441
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-28 14:19:40

    Add.jsp      注册新用户页面

    InsertSuccessed.jsp      新记录添加成功

    InsertFailed.jsp               新记录添加失败

    Insertrepetition                重复添加提示

    流程:            在首面里点击"添加新用户后"  ----进入到Add.jsp----填写好表单后提交----

                                 成功----  insertSuccessed.jsp      新记录添加成功

                                失败----   InsertFailed.jsp               新记录添加失败

                                重复提交(或在insertSuccessed.jsp页刷新)----    Insertrepetition                重复添加提示

    Action 结构:

    因为用的是MappingDispatchAction,

    addjump 事件                  用于从首面跳转到Add.jsp用的

    insert事件                         添加一条记录

    首先要在表单提交前(也就是跳转到Add.jsp时)保存一个Token,所以在addjump 事件里要有 saveToken(request,true)语句; 这时你可以在Add.jsp的源码中看到一个隐藏域, 如:〈input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"〉

    提交上来后,到了insert事件里面了,这里要判断请求中的Token 和保存在会话中的Token是否一样,如果一样,则表明是第一次提交.如果不一样,则表明是"重复提交".

    所以在insert 事件中要有判断的代码:

    view plaincopy to clipboardprint?
     if (isTokenValid(request, true)) {

      // 表单不是重复提交

      //这里是保存数据的代码

      } else {

      //表单重复提交

      saveToken(request);

      //其它的处理代码

      }

     if (isTokenValid(request, true)) {

      // 表单不是重复提交

      //这里是保存数据的代码

      } else {

      //表单重复提交

      saveToken(request);

      //其它的处理代码

      }

 

[1]   

【责编:landy】

--------------------next---------------------

阅读(299) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~