亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

ajax+jsp草稿自動保存的實現代碼

2020-07-27 21:44:26
字體:
來源:轉載
供稿:網友
一、表單部分 (index.html)

    首先是表單填寫頁面,用一個ID為AutoSaveMsg的DIV來顯示返回信息,并且用一個ID為Draft_AutoSave的CheckBox來確定是否進行自動保存,然后將Textarea的ID命名為message。同時為了應對多用戶同時使用的需要,加上用戶名,每個用戶的草稿分開保存。為了說明方便,這里把一些修飾性的東西去掉,這樣看起來比較明了

<h2>AJAX應用之草稿自動保存</h2><br />

<!-- 用戶名默認為NONAME -->

用戶名:
<input type="text" name="memName" id="memName" 
    size="20" value="NONAME" disabled="true" /> &nbsp;&nbsp;&nbsp;&nbsp;

<!-- 在自動保存選項的onclick事件中調用自動保存狀態設置函數 -->

<input onclick="SetAutoSave();" type="checkbox" id="Draft_AutoSave" value="1" checked="true" />自動保存?
<br /><br />

內容:
<textarea cols=40 rows=8 id="message">你編輯的內容將被自動保存,以便恢復</textarea><br /><br />

<!-- AutoSaveMsg顯示返回信息 -->
<div id="AutoSaveMsg"></div><br />

<input type="submit" onclick="Save();" value="Save" />&nbsp;&nbsp;

<!-- 調用函數恢復最后保存的草稿 -->
<input type="button" onclick="AutoSaveRestore();" value="Restore" />
</div>
</div>

<!-- 將JS代碼放在所有對象之后,以免在頁面未加載完成時出現對象不存在的錯誤 -->
|<!-- AJAX類 -->
<script type="text/javascript" src="ajaxrequest.js"></script>
<!-- 自動保存代碼 -->
<script type="text/javascript" src="autosave.js"></script>


二、自動保存代碼(autosave.jsp):

  // 首先設置全局變量
// 要保存的內容對象FormContent
var FormContent;
// 顯示返回信息的對象
var AutoSaveMsg=document.getElementById("AutoSaveMsg");
// 用戶名
var memName=document.getElementById("memName").value;
// 自動保存時間間隔
var AutoSaveTime=10000;
// 計時器對象
var AutoSaveTimer;
// 首先設置一次自動保存狀態
SetAutoSave();
// 自動保存函數
function AutoSave() {
     FormContent=document.getElementById("message");
    // 如果內容或用戶名為空,則不進行處理,直接返回
    if(!FormContent.value||!memName) return;
    // 創建AJAXRequest對象
    var ajaxobj=new AJAXRequest;
    ajaxobj.url="autosave.jsp";
    ajaxobj.content="action=AutoSave&memname="+memName+"&postcontent="+FormContent.value;
    ajaxobj.callback=function(xmlObj) {
        // 顯示反饋信息
        AutoSaveMsg.innerHTML=xmlObj.responseText;
    }
    ajaxobj.send();
}
// 設置自動保存狀態函數
function SetAutoSave() {
    // 是否自動保存?
    if(document.getElementById("Draft_AutoSave").checked==true)
        // 是,設置計時器
        AutoSaveTimer=setInterval("AutoSave()",AutoSaveTime);
    else
        // 否,清除計時器
        clearInterval(AutoSaveTimer);
}
function AutoSaveRestore() {// 恢復最后保存的草稿
     AutoSaveMsg.innerHTML="正在恢復,請稍候……"
     FormContent=document.getElementById("message");
    // 如果用戶名為空,則不進行處理,直接返回
    if(!memName) return;
    // 創建AJAXRequest對象
    var ajaxobj=new AJAXRequest;
    ajaxobj.url="autosave.jsp";
    ajaxobj.content="action=Restore&memname="+memName;
    ajaxobj.callback=function(xmlObj) {
         // 顯示反饋信息
      if(xmlObj.responseText!="") {
         // 恢復草稿
         var s=xmlObj.responseText.replace(/^[/n|/r/n]*|[/n|/r/n]*$/g,'');//去掉首尾空行
         FormContent.innerText=s;
          // 提示用戶恢復成功
        AutoSaveMsg.innerHTML="恢復成功";
        }
    }
    ajaxobj.send();
}
function Save() {//將內容保存至數據庫,沒有完成.
 FormContent=document.getElementById("message");
    // 如果內容或用戶名為空,則不進行處理,直接返回
    if(!FormContent.value||!memName) return;
    // 創建AJAXRequest對象
    var ajaxobj=new AJAXRequest;
    ajaxobj.url="autosave.jsp";
    ajaxobj.content="action=Save&memname="+memName+"&postcontent="+FormContent.value;
    ajaxobj.callback=function(xmlObj) {
        // 顯示反饋信息
        AutoSaveMsg.innerHTML=xmlObj.responseText;
    }
    ajaxobj.send();

三、  最后是autosave.jsp,用于在后臺保存草稿:
  程序代碼:

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>

<%
  String PostContent,memName,action;
  String filename;
  File f; 
  FileWriter fw;
   action=request.getParameter("action");//獲取操作,是保存草稿還是恢復草稿

  //獲取用戶名
   memName=request.getParameter("memname");

  //獲取草稿內容
   PostContent=request.getParameter("postcontent");

  filename=memName+".txt";//保存草稿的文件
  filename= request.getRealPath("/temp/"+filename);
  if(action.equals("Save")||action.equals("AutoSave")){ //這里兩個動作合并了,保存到數據庫的代碼沒有寫
    f = new File(filename);
    if(!f.exists())//如果文件不存,則建立
    {
      f.createNewFile();
    }
   fw = new FileWriter(filename); //建立FileWrite對象,并設定由fw對象變量引用
   PostContent=new String(PostContent.getBytes("ISO8859_1"),"UTF-8");

   fw.write(PostContent);
   fw.close(); //關閉文件
    out.println("最后于"+new Date().toString()+"自動保存成功!!1");

   }else if(action.equals("Restore")){//恢復操作
     FileReader fr = new FileReader(filename); //建立FileReader對象,并設定由fr對象變量引用
     BufferedReader br = new BufferedReader(fr); //建立BufferedReader對象,并設定由br對象變量引 
    StringBuffer bf=new StringBuffer(); 
    String Line; 
    while((Line = br.readLine())!=null){ //讀取一行數據
      bf.append(Line+"/n");
    }
    out.print(bf.toString().trim());
  }else{
    out.println(" 發生錯誤");
  }

%>

四、AJAX類(ajaxrequest.js)請下載。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频精品一区二区三区| 成人福利视频网| 久久亚洲影音av资源网| 精品国产乱码久久久久久天美| 日韩欧美亚洲综合| 成人乱色短篇合集| 日韩www在线| 国产精品偷伦视频免费观看国产| 国产精品免费观看在线| 91色p视频在线| 日韩在线播放av| 久久99精品视频一区97| 欧美日韩精品中文字幕| 日本午夜精品理论片a级appf发布| 日韩av黄色在线观看| 久久久久久亚洲精品| 一区二区三区天堂av| 国语自产精品视频在免费| 国产在线98福利播放视频| 亚洲福利视频二区| 国产ts人妖一区二区三区| 亚洲毛片在线免费观看| 日韩一区二区av| 黄网动漫久久久| 亚洲男女自偷自拍图片另类| 国产精品一区二区电影| 久久综合伊人77777尤物| 日韩女优人人人人射在线视频| 一本色道久久88综合日韩精品| 亚洲999一在线观看www| 日韩欧美国产视频| 日av在线播放中文不卡| 久久激情视频久久| 亚洲成**性毛茸茸| 欧美日韩在线第一页| 国产精品99一区| 中文字幕综合一区| 日韩av免费看| 亚洲**2019国产| 欧美性在线视频| 亚洲美女av黄| 国产mv免费观看入口亚洲| 第一福利永久视频精品| 97视频在线观看亚洲| 国产精品久久久久久久久免费| 日韩有码在线视频| 神马久久久久久| 日韩欧美黄色动漫| 91免费看片在线| 亚洲视频专区在线| 亚洲人成在线观| 久久成人精品视频| 国产一区二区日韩精品欧美精品| 成人h片在线播放免费网站| 国产欧美日韩专区发布| 国产日韩欧美中文| 91精品国产高清自在线| 欧美电影免费看| 欧美日韩爱爱视频| 国产精品va在线播放| 日韩av在线看| 国产精品视频白浆免费视频| 亚洲国产精品一区二区三区| 热99精品里视频精品| 国产精品视频久久| 最近2019中文免费高清视频观看www99| 精品欧美激情精品一区| 国产亚洲精品美女久久久| 国语自产精品视频在线看一大j8| 红桃视频成人在线观看| 欧美专区第一页| 国产女人18毛片水18精品| 欧美大片在线影院| 精品一区二区三区四区在线| 欧美大胆在线视频| 精品国产乱码久久久久久虫虫漫画| 不卡av在线播放| 日韩成人在线观看| 亚洲黄色www| 亚洲精品久久在线| 91夜夜未满十八勿入爽爽影院| 最近2019年日本中文免费字幕| 日韩av不卡在线| 国产va免费精品高清在线观看| 91精品久久久久| 国产精品福利无圣光在线一区| 精品美女永久免费视频| 亚洲第一天堂无码专区| 日韩视频在线免费观看| 久久成人av网站| 欧美国产精品va在线观看| 欧美老女人性生活| 成人乱色短篇合集| 国产精品一区久久| 九九热精品视频| 亚洲一区二区三区成人在线视频精品| 欧美丰满少妇xxxxx做受| 国产精品一区二区三| 欧美成人精品影院| 国产日韩欧美在线| 欧美亚洲日本黄色| 亚洲免费视频在线观看| 欧美成人精品激情在线观看| 国产mv免费观看入口亚洲| 久久亚洲精品一区二区| 日韩高清电影好看的电视剧电影| 国产精品va在线播放| 日韩在线视频导航| 欧美激情视频给我| 日韩欧美国产网站| 国产精品嫩草影院久久久| 欧美日韩国产中文字幕| 欧美伊久线香蕉线新在线| 2025国产精品视频| 欧美一级在线播放| 91av在线播放视频| 亚洲国产精彩中文乱码av在线播放| 欧美一级黑人aaaaaaa做受| 欧美成人免费全部观看天天性色| 欧美激情视频三区| 人人澡人人澡人人看欧美| 国产精品久久久久999| 成人xvideos免费视频| 精品免费在线观看| 国产精品久久久久福利| 美女黄色丝袜一区| 欧美自拍视频在线观看| 欧美猛少妇色xxxxx| 国产精品吹潮在线观看| 亚洲毛片在线观看.| 国产香蕉97碰碰久久人人| 国产在线视频欧美| 日韩精品免费在线视频| 精品二区三区线观看| www.亚洲天堂| 欧美www在线| 久久久在线免费观看| 成人字幕网zmw| 亚洲第一综合天堂另类专| 日韩av色在线| 欧美成人精品激情在线观看| 久久影视电视剧免费网站清宫辞电视| 97碰碰碰免费色视频| 欧美午夜xxx| 欧美激情一区二区三区成人| 久久这里只有精品视频首页| 色狠狠av一区二区三区香蕉蜜桃| 92国产精品视频| 久久久99久久精品女同性| 中文欧美日本在线资源| 九九综合九九综合| 国内精品模特av私拍在线观看| 欧美成人一区二区三区电影| 欧美黑人极品猛少妇色xxxxx| 色偷偷偷亚洲综合网另类| 亚洲午夜未删减在线观看| 九色精品美女在线| 俺去亚洲欧洲欧美日韩| 亚洲成人教育av| 国产一区红桃视频| 国产精品久久久久久久久久久不卡| 欧美精品激情在线观看| 欧美激情极品视频| 国产成人综合一区二区三区|