<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    基于Struts的AJAX

    首先,我們仍然是對Struts應用來做配置,仍然是在struts-config,xml文件里做配置,如下:

     <action type="com.ajax.CheckAction"
         scope="request" path="/ajax/check">
         <forward name="success" path="/check.jsp"/>
     </action>


    跟普通的Struts應用的配置一樣,只是沒有ActionForm的配置。下面是Action類:

     package com.ajax;
     
     import java.io.PrintWriter;
     
     import javax.servlet.http.HttpServletRequest;
     import javax.servlet.http.HttpServletResponse;
     
     import org.apache.struts.action.Action;
     import org.apache.struts.action.ActionForm;
     import org.apache.struts.action.ActionForward;
     import org.apache.struts.action.ActionMapping;
     import org.apache.struts.action.DynaActionForm;
     
     /**
      * @author Administrator
      *
      * TODO To change the template for this generated type comment go to
      * Window - Preferences - Java - Code Style - Code Templates
      */
     public class CheckAction extends Action
     {
      public final ActionForward execute(ActionMapping mapping, ActionForm form,
               HttpServletRequest request,
               HttpServletResponse response)
       throws Exception
       {
      System.out.println("haha...............................");
      String username= request.getParameter("username");
      System.out.println(username);
      String retn;
      if("educhina".equals(username)) retn = "Can't use the same name with the old use,pls select a difference...";
      else retn = "congraducation!you can use this name....";
      PrintWriter out=response.getWriter();
               out.write(retn);
               out.close();
      return mapping.findForward("success");
       }
      public static void main(String[] args)
      {
      }
     }

    我們可以看到里面的邏輯跟上例中Servlet里的邏輯一樣。最后,我們來看看JSP:

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     <html>
     <head>
     <title>Check.html</title>
     
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="this is my page">
     
     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
     
     </head>
     <script type="text/javascript">
      var http_request = false;
      function send_request(url) {//初始化、指定處理函數、發送請求的函數
       http_request = false;
      
    file://開始初始化XMLHttpRequest對象
       if(window.XMLHttpRequest) {
    file://Mozilla 瀏覽器
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {//設置MiME類別
       http_request.overrideMimeType('text/xml');
      }
       }
       else if (window.ActiveXObject) { // IE瀏覽器
      try {
       http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
       try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (e) {}
      }
       }
       if (!http_request) { // 異常,創建對象實例失敗
      window.alert("不能創建XMLHttpRequest對象實例.");
      return false;
       }
       http_request.onreadystatechange = processRequest;
       // 確定發送請求的方式和URL以及是否同步執行下段代碼
       http_request.open("GET", url, true);
       http_request.send(null);
      }
      // 處理返回信息的函數
       function processRequest() {
           if (http_request.readyState == 4) { // 判斷對象狀態
               if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
                   alert(http_request.responseText);
               } else {
    file://頁面不正常
                   alert("您所請求的頁面有異常。");
               }
           }
       }
      function userCheck() {
       var f = document.forms[0];
       var username = f.username.value;
       if(username=="") {
      window.alert("The user name can not be null!");
      f.username.focus();
      return false;
       }
       else {
      send_request('ajax/check.do?username='+username);
       }
      }
     
     </script>
     <body>
      <form name="form1" action="" method="post">
     User Name:<input type="text" name="username" value="">&nbsp;
     <input type="button" name="check" value="check" onClick="userCheck()">
     <input type="submit" name="submit" value="/oblog312/submit">
     </form>
     </body>
     </html>

    我們可以看到,JSP基本是一樣的,除了要發送的url:ajax/check.do?username="+username。 

    posted on 2007-08-13 17:24 劉錚 閱讀(285) 評論(0)  編輯  收藏 所屬分類: Struts


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


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    留言簿(1)

    文章分類(141)

    文章檔案(147)

    搜索

    最新評論

    主站蜘蛛池模板: 四虎影院免费在线播放| 四虎永久在线精品免费一区二区| 两个人的视频www免费| 日本不卡免费新一二三区| 亚洲AV无码片一区二区三区| 日韩毛片无码永久免费看| 亚洲AV第一成肉网| 免费在线观看视频a| 一区二区三区在线免费观看视频 | 91麻豆最新在线人成免费观看| 亚洲专区在线视频| 免费成人激情视频| 亚洲人成网亚洲欧洲无码| 性感美女视频在线观看免费精品| 亚洲欧美乱色情图片| 免费一区二区三区四区五区| 国产日韩精品无码区免费专区国产 | 精品国产免费一区二区三区香蕉 | 亚洲91精品麻豆国产系列在线| 成人免费毛片视频| 免费国产在线精品一区| 日韩亚洲欧洲在线com91tv| 中文字幕视频免费| 中文文字幕文字幕亚洲色| 国产精品极品美女免费观看| 一级特黄录像免费播放中文版| 久久精品国产亚洲AV网站| 曰批全过程免费视频网址| 亚洲AV无码一区二区三区久久精品| 亚洲福利精品电影在线观看| 999zyz**站免费毛片| 亚洲中文无码av永久| 亚洲 综合 国产 欧洲 丝袜| 久久九九AV免费精品| 亚洲欧美成人一区二区三区| 国产亚洲精aa成人网站| 亚洲毛片在线免费观看| 国产亚洲综合视频| 亚洲午夜精品久久久久久人妖| 免费无码不卡视频在线观看| 国产亚洲精品免费视频播放|