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

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

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

    posts - 14, comments - 22, trackbacks - 0, articles - 4
      BlogJava :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理
    你問我什么叫ajax,我也不太了解,我了解的是那支培養(yǎng)了無數(shù)荷蘭足球精華的Ajax,誰知道怎么有人用幾個(gè)單詞的頭字母也能湊出這個(gè)單詞來,不過感覺用它來做東西,應(yīng)該會(huì)挺有意思的
    比如當(dāng)用戶在注冊的時(shí)候,用戶點(diǎn)一個(gè)按紐不用刷新界面就可以獲得一句提示,是有這人還是沒有這人啊?這次我嘗試了用ajax技術(shù)來做一個(gè)三級關(guān)鍵的下拉列表,而這是我要講的關(guān)鍵。
    其實(shí)現(xiàn)在一般的ajax都是向Servlet發(fā)出請求,之后服務(wù)器響應(yīng),再偷摸的把結(jié)果傳給它,之后顯示出來,而換到Struts,有人會(huì)發(fā)甍,也一樣,Action是Servlet,DispatchAction也是,只要把代碼往這里寫,讓它往.do那里請求就行了。
    在接下來我就向大家介紹我是怎樣實(shí)現(xiàn)上述功能的
    因?yàn)榇髮W(xué)里面的結(jié)構(gòu)是這里的
    學(xué)院-專業(yè)-班級-學(xué)生
    在學(xué)生注冊的時(shí)候他是依賴于上述對象的,所以用戶注冊就需要一個(gè)三級的下拉選擇
    而ajax就能象變魔術(shù)一樣,從服務(wù)器那里偷摸弄來您需要的列表
    下面我先給大家展示一下第一個(gè)功能是怎么實(shí)現(xiàn)的吧?
    當(dāng)用戶在注冊的時(shí)候,點(diǎn)一個(gè)按紐,之后會(huì)彈出一個(gè)alert來告訴你這個(gè)用戶是否有人用了,下面就讓我們來看看這個(gè)功能是怎么實(shí)現(xiàn)的吧?

    <html:button styleClass="cancel" property="submit" value="驗(yàn)證用戶是否存在" onclick="teacherCheck()"/>
    這里定義了按紐,用來測試?yán)蠋熓欠褚呀?jīng)存在了
    大體的ajax的JS代碼都上面這四部分,
    先是創(chuàng)建XMLHttpRequest,
    var xmlHttp;
    function createXMLHttpRequest()
    {
    ?if (window.XMLHttpRequest)
    ?{
    ??xmlHttp = new XMLHttpRequest();
    ?}
    ?else if (window.ActiveXObject)
    ?{
    ??xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    ??? }
    }
    之后是客戶響應(yīng)部分的代碼
    function teacherCheck()
    {
    ?var f = document.TeacherRegisterForm 從表單里讀字段
    ?var user = f.user.value
    ?if(user=="")
    ?{
      ?window.alert("用戶名不能為空!")
    ??f.user.focus()
      ?return false
    ? ?}
    ?else
    ?{
    ??createXMLHttpRequest()??????? 這里都是精華了
    ??var url = "ajax.do?method=checkUserIsExist&user="+user?? 定義響應(yīng)地址
    ??xmlHttp.open("GET",url, true)??? 發(fā)出響應(yīng)
    ??xmlHttp.onreadystatechange = checkUser? 把從服務(wù)器得到的響應(yīng)再傳給另個(gè)函數(shù)
    ??xmlHttp.send(null)
    ? ?}
    }

    function checkUser()
    {
    ?if (xmlHttp.readyState == 4)
    ?{
    ??if (xmlHttp.status == 200)
    ??{
    ???alert(xmlHttp.responseText)??????? 這里是對響應(yīng)結(jié)果的操作,在這里我們是灘出對話框,并把服務(wù)器發(fā)來的信息顯示出來
    ??}
    ?}
    }

    我把所有亂七八糟的操作都放到了一個(gè)DispatchAction里,所以它也不例外的在這個(gè)DA中了
    public ActionForward checkUserIsExist( ActionMapping mapping,
    ??????????? ActionForm form, HttpServletRequest req, HttpServletResponse res )
    ??????????? throws Exception
    ??? {
    ??????? Service service = getService();
    ??????? res.getWriter().write(service
    .checkUserIsExistForAjax( req.getParameter( "user" ) ) );
    ??????? return null;
    ??? }
    它僅僅是把業(yè)務(wù)邏輯部分的結(jié)果發(fā)送回去,而真正的判斷是在業(yè)務(wù)邏輯那里實(shí)現(xiàn)的,
    public String checkUserIsExistForAjax( String user )把結(jié)果弄成String的形式傳回去
    ??? {
    ??????? Connection connection = null;
    ??????? PreparedStatement pstmt1 = null;
    ??????? ResultSet rs = null;
    ??????? try
    ??????? {
    ??????????? connection = getConnection();
    ??????????? pstmt1 = connection
    ??????????????????? .prepareStatement( "select * from user where user=?" );
    ??????????? pstmt1.setString( 1, user );
    ??????????? rs = pstmt1.executeQuery();
    ??????????? rs.last();
    ??????????? if ( rs.getRow() > 0 )
    ??????????? {
    ??????????????? return ID.M_EXIST; 用戶存在
    ??????????? }
    ??????? }
    ??????? catch ( Exception e )
    ??????? {
    ??????????? e.printStackTrace();
    ??????? }
    ??????? finally
    ??????? {
    ??????????? close( rs );
    ??????????? close( pstmt1 );
    ??????????? close( connection );
    ??????? }
    ??????? return ID.M_NOEXIST;用戶不存在
    ??? }


    評論

    # re: 體驗(yàn)Struts(3)---加上點(diǎn)ajax   回復(fù)  更多評論   

    2007-06-07 10:10 by 張凌云
    請問ajax.do你怎么定義的?

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


    網(wǎng)站導(dǎo)航:
     
    有事在這里給我留言噢!
    主站蜘蛛池模板: 在线观看亚洲电影| 无码亚洲成a人在线观看| 免费网站观看WWW在线观看| 久久精品国产亚洲7777| 一级做a爰片久久毛片免费看| 免费午夜爽爽爽WWW视频十八禁| 色噜噜的亚洲男人的天堂| 日本高清免费网站| 精品一区二区三区免费毛片| 免费一级特黄特色大片在线| 日韩电影免费在线观看网址| 亚洲色偷偷综合亚洲AV伊人| 你懂的在线免费观看| 亚洲成年轻人电影网站www| 7m凹凸精品分类大全免费| 亚洲日本香蕉视频| 成人午夜18免费看| 又硬又粗又长又爽免费看| 国产亚洲美女精品久久久2020| 国产免费一区二区三区在线观看| 亚洲精品高清国产麻豆专区| 成人免费毛片视频| 国产免费久久精品99久久| 亚洲国产日韩一区高清在线| 波多野结衣在线免费观看| 蜜臀亚洲AV无码精品国产午夜.| 亚洲免费一区二区| 91短视频在线免费观看| 亚洲中文字幕久久无码| 亚洲?v无码国产在丝袜线观看 | 亚洲国产精品日韩| a毛片久久免费观看| 亚洲另类自拍丝袜第1页| 国产jizzjizz视频免费看 | 可以免费观看的毛片| 亚洲a∨无码男人的天堂| 免费一级特黄特色大片在线观看| 玖玖在线免费视频| 亚洲高清一区二区三区电影| 亚洲精品无码专区在线在线播放| 成人福利免费视频|