国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP刷新頁面表單重復(fù)提交問題解決辦法分享

2024-09-05 00:21:55
字體:
供稿:網(wǎng)友
最近做項目中有多附件上傳及信息多次添加功能,其中就遇到了刷新頁面導(dǎo)致上次提交的數(shù)據(jù)重復(fù)保存的問題,以下是解決方法,有需要的朋友可以參考一下

使用sessionID和時間戳作為標(biāo)識,關(guān)鍵代碼如下:

復(fù)制代碼 代碼如下:


public class SswpdjAction extends BaseAction{

      public String execute(){
        /**業(yè)務(wù)代碼**/
        ................
        //設(shè)置標(biāo)識
        this.setSessionToken();
        //轉(zhuǎn)到添加頁面
        return "toAdd";
      }
  
      public String reSave(){
        if(this.token != null && this.token.equals(this.getSessionToken())){
          /**設(shè)置新標(biāo)識**/
          this.setSessionToken();
      
          /**業(yè)務(wù)代碼**/
          ..............
          return "toAdd";
        }else{
          printWriter out = null;
          try{
            httpServletResponse.setContentType("text/html;charset=UTF-8");
            out = httpServletResponse.getWriter();
            out.println("<script>alert('刷新提交表單!');</script>");
            out.flush();
        
            }catch(IOException e){
                e.printStackTrace();
            }finally{
                if(out != null){
                    out.close();
                }
            }
        }
        return null;
  }
}

public class BaseAction extends ActionSupport{

    /**jsp頁面標(biāo)識**/
    protected String token;

    public String getToken(){
        return token;
    }

    public void setToken(String token){
        this.token = token;
    }

    public String getSessionToken(){
        if(null != httpSession.getAttribute("Token")){
            return httpSession.getAttribute("Token");
        }else{
            return null;
        }
    }

    /**標(biāo)識生成**/
    public void setSessionToken(){
        String flag = useMd5(httpSession.getId() + System.currentTimeMillis());
        httpSession.setAttribute("Token", flag);
        httpServletRequest.setAttribute("SessionToken", flag);
    }

    /**MD5加密**/
    private String useMd5(String str){
        byte[] bs = str.getBytes();
        String result = null;
        try{
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            md5.update(bs);
            result = md5.digest().toString();
        }catch(NoSuchAlgorithmException e){
            e.printStackTrace();
        }finally{

        }
        return result;
    }
}

JSP頁面設(shè)置標(biāo)識隱藏域:

復(fù)制代碼 代碼如下:


<form>
  <input type="hidden" value="${SessionToken}" />
</form>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 子洲县| 荔浦县| 盐津县| 丁青县| 多伦县| 崇信县| 格尔木市| 祁连县| 西宁市| 博野县| 石柱| 河南省| 灵丘县| 上虞市| 娄烦县| 菏泽市| 商丘市| 茶陵县| 栾川县| 鄂尔多斯市| 四川省| 桦南县| 东方市| 北京市| 双流县| 府谷县| 镇坪县| 朝阳市| 宜丰县| 巩义市| 六盘水市| 含山县| 泰安市| 琼结县| 金门县| 霍邱县| 卢氏县| 沙雅县| 南和县| 社旗县| 武汉市|