|
if (this.isTokenValid(request)){ Add.jsp 注冊新用戶頁面 InsertSuccessed.jsp 新記錄添加成功 InsertFailed.jsp 新記錄添加失敗 Insertrepetition 重復(fù)添加提示 流程: 在首面里點擊"添加新用戶后" ----進入到Add.jsp----填寫好表單后提交---- 成功---- insertSuccessed.jsp 新記錄添加成功 失敗---- InsertFailed.jsp 新記錄添加失敗 重復(fù)提交(或在insertSuccessed.jsp頁刷新)---- Insertrepetition 重復(fù)添加提示 Action 結(jié)構(gòu): 因為用的是MappingDispatchAction, addjump 事件 用于從首面跳轉(zhuǎn)到Add.jsp用的 insert事件 添加一條記錄 首先要在表單提交前(也就是跳轉(zhuǎn)到Add.jsp時)保存一個Token,所以在addjump 事件里要有 saveToken(request,true)語句; 這時你可以在Add.jsp的源碼中看到一個隱藏域, 如:〈input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"〉 提交上來后,到了insert事件里面了,這里要判斷請求中的Token 和保存在會話中的Token是否一樣,如果一樣,則表明是第一次提交.如果不一樣,則表明是"重復(fù)提交". 所以在insert 事件中要有判斷的代碼: view plaincopy to clipboardprint? // 表單不是重復(fù)提交 //這里是保存數(shù)據(jù)的代碼 } else { //表單重復(fù)提交 saveToken(request); //其它的處理代碼 } if (isTokenValid(request, true)) { // 表單不是重復(fù)提交 //這里是保存數(shù)據(jù)的代碼 } else { //表單重復(fù)提交 saveToken(request); //其它的處理代碼 }
|
|
|