本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
          隨筆-230  評論-230  文章-8  trackbacks-0

          首先必須要通過一個Action再轉(zhuǎn)向那個添加記錄的頁面,轉(zhuǎn)向函數(shù)如下.

          ?public ActionForward tokenTest(
          ???ActionMapping mapping,
          ???ActionForm form,
          ???HttpServletRequest request,
          ???HttpServletResponse response) throws Exception {
          ??saveToken(request);//把一個token ID保存到Session,并在且要轉(zhuǎn)到的頁面
          ?????? //的<html:form>中添加一個<input type="hideen">的標(biāo)答.
          ??return mapping.findForward("add");
          ?}


          一個輸出入頁面如容如下:

          <%@ page language="java" pageEncoding="UTF-8"%>

          <%@ taglib uri="<%@ taglib uri="<%@ taglib uri="<%@ taglib uri="


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html:html lang="true">
          ? <head>
          ??? <html:base />
          ???
          ??? <title>tokentest.jsp</title>
          ???
          ??? <meta http-equiv="pragma" content="no-cache">
          ??? <meta http-equiv="cache-control" content="no-cache">
          ??? <meta http-equiv="expires" content="0">???
          ??? <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
          ??? <meta http-equiv="description" content="This is my page">
          ? </head>
          ?
          ? <body>
          ????? <br>
          ????? <logic:present name="error">
          ???????? <pre style="color:#ff2255"><bean:write name="error"/></pre>
          ????? </logic:present>
          ????? <center>
          ????? <html:form action="/insert.do" method="post">
          ??????? <table border="0" cellspacing="0" >
          ????????? <tr>
          ??????????? <td width="30%">用戶名</td>
          ??????????? <td width="70%"><html:text property="username"/></td>
          ????????? </tr>
          ????????? <tr>
          ??????????? <td>地址:</td>
          ??????????? <td><html:text property="address"/></td>
          ????????? </tr>
          ????????? <tr>
          ??????????? <td colspan="2"><html:submit value="提交"/></td>
          ????????? </tr>
          ??????? </table>
          ?????? </html:form>
          ????? </center>
          ? </body>
          </html:html>
          頁面的處理Action內(nèi)容如下:
          ? ?public ActionForward execute(
          ??ActionMapping mapping,
          ??ActionForm form,
          ??HttpServletRequest request,
          ??HttpServletResponse response) {
          ??TokenTestForm tokenTestForm = (TokenTestForm) form;
          ??if(!isTokenValid(request)){ //重復(fù)提交
          ???request.setAttribute("error","不能得復(fù)提交!!!");
          ???//saveToken(request); 重新生成tokenid,
          ???return mapping.findForward("return");
          ??}else{
          ???resetToken(request);
          ??}
          ??//執(zhí)行相關(guān)操作
          ??System.out.println(tokenTestForm.getUsername()+"--"+tokenTestForm.getAddress());
          ??return mapping.findForward("ok");
          ?}

          至此已完成,至于原理,就自己去查一些資料就完全明白了....


          評論:
          # re: 解決Struts重復(fù)提交的問題. 2006-07-27 17:59 | zhang
          好謝謝你的方法,回去試試  回復(fù)  更多評論
            
          # re: 解決Struts重復(fù)提交的問題. 2008-05-08 16:14 | key159
          看懂了,很好用  回復(fù)  更多評論
            
          # re: 解決Struts重復(fù)提交的問題. 2009-09-23 16:28 | XD
          不懂,能不能再詳細(xì)些???  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
          主站蜘蛛池模板: 平远县| 温州市| 兴城市| 新河县| 石家庄市| 民勤县| 石狮市| 平果县| 肇东市| 楚雄市| 大荔县| 通道| 图木舒克市| 和平县| 武隆县| 渭南市| 沙雅县| 临西县| 乐都县| 鹤庆县| 马山县| 清水河县| 沙洋县| 齐齐哈尔市| 铅山县| 宁强县| 临颍县| 满洲里市| 镇远县| 武强县| 梧州市| 孟连| 榆树市| 夏津县| 青海省| 长兴县| 禹州市| 湖南省| 黔西县| 仪陇县| 雅江县|