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

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

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

    posts - 30,  comments - 85,  trackbacks - 0

    Ajax 的使用

    ?????? 今天終于揭開了那個(gè)一直讓我神往的 ajax 技術(shù)的面紗。這里用的 dwr 實(shí)現(xiàn)的 ajax 技術(shù)。好了,現(xiàn)在我們看看要想在你的 j2ee 項(xiàng)目中使用 dwr 該怎么辦吧!由此也揭開我們的第一章。

    1????????? Dwr 的配置和使用

    ?????? 首先我們看看如何配置 dwr 呢?很簡單。把人家的 jar 包拷貝到你的 lib 目錄下啊。看過一些資料,一些人說: dwr 必須要配置 bsf-2.3.jar , beanshell-1.3.0 。其實(shí)不然,只要把 dwr.jar 加入就可以了。

    ??? 第二步:配置 web.xml

    ?????? < servlet >

    ??????? < servlet-name > dwr-invoker </ servlet-name >

    ??????? < display-name > DWR Servlet </ display-name >

    ??????? < description > Direct Web Remoter Servlet </ description >

    ??????? < servlet-class > uk.ltd.getahead.dwr.DWRServlet </ servlet-class >

    ??????? < init-param >

    ??????????? < param-name > config </ param-name >

    ??????????? < param-value > WEB-INF/dwr.xml </ param-value >

    ??????? </ init-param >

    ??????? < init-param >

    ??????????? < param-name > debug </ param-name >

    ??????????? < param-value > false </ param-value >

    ??????? </ init-param >

    ??????? < init-param >

    ??????????? < param-name > scriptCompressed </ param-name >

    ??????????? < param-value > false </ param-value >

    ??????? </ init-param >

    ??????? < load-on-startup > 8 </ load-on-startup >

    </ servlet >

    < servlet-mapping >

    ??????? < servlet-name > dwr-invoker </ servlet-name >

    ??????? < url-pattern > /dwr/* </ url-pattern >

    </ servlet-mapping >

    ?????? 好了,因?yàn)槟阍?/span> web.xml 下配置了 :

    ??????????? < param-name > config </ param-name >

    ??????????? < param-value > WEB-INF/dwr.xml </ param-value >

    ? ? 那么就要在 web-Inf 下建立一個(gè) dwr.xml 文件。

    ??? 下面我們看看 dwr.xml 文件吧:

    <dwr>

    ??? <allow>

    ??????? <create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">

    ??????????? <include method="findApartments"/>

    ??????????? <include method="countApartments"/>

    ??????????? <include method="getDate"/>

    ??????? </create>

    ? </allow>

    </dwr>

    ?????? 是不是很簡單,所有的 <create></create> 之間的代碼就是配置 ajax 的一些屬性,

    其中 creator= new 表示類的實(shí)例是 new 出來的。后面的 include 包含的就是開放給 dwr 可以通過 javascript 訪問的類。 Javascipt 中的值就是你要在 jsp 頁面編寫的 javaScript 代碼中使用的函數(shù)名。這些都不難可以理解其意思。

    這樣我們就可以在外面的 jsp 頁面上使用了。

    ??? 現(xiàn)在看看 jsp 是怎么樣樣的吧 ! 這里只把關(guān)鍵的部分拿出來分析以下:

    <script src='<%request.getContextPath()%>/dwr/interface/ApartmentDAO.js'></script>

    <script src='<%request.getContextPath()%>/dwr/engine.js'></script>

    <script src='<%request.getContextPath()%>/dwr/util.js'></script>

    <script>

    function date(guid) {

    ??? ApartmentDAO.getDate(loadTotal2,guid);

    ?}?

    ?function loadTotal2(data) {

    ??? document.getElementById("today").innerHTML = data;

    ? }

    </script>

    再看看內(nèi)部的 java 類的部分代碼:

    public class ApartmentDAO {

    public String getDate(String guid){

    ???? Date date =? new Date();

    ???? return date.toString();

    ? }

    }

    這個(gè) getDate() 方法返回的是當(dāng)前的系統(tǒng)時(shí)間,很簡單。然后通過在 dwr.xml 聲明后可以在 jsp 頁面中使用 ApartmentDAO.getDate(loadTotal2,guid); 來調(diào)用 ApartmentDAO 中的方法了,看他調(diào)用的好像有點(diǎn)怪異,明明 ApartmentDAO 中只有一個(gè)參數(shù)啊。這里用到 javascript 的回掉了。 其實(shí)是通過 javascript 的回掉將類里面的返回值在 function loadTotal2(data) 中使用。這里的參數(shù) data 就是 java return 出來的值,這樣我們就可以得到 java 類中的返回值后寫一些 javascript 了。

    以上就完成了簡單的 ajax 的使用了,通過這個(gè)簡單的例子是不是理解 ajax 技術(shù)了呢。當(dāng)然還不夠,但這也算是我們的突破口吧,有這樣的一會試驗(yàn)后,后面的 ajax 就不是那么神秘呢,歸根到底他不就是“ javascript 前臺調(diào)用后臺 java 類”嗎?

    2????????? 注意要點(diǎn)

    首先 web.xml 一定要配置正確, servlet 一定要正確。

    Dwr.xml 中配置類和方法一定要正確。

    Jsp 中我們要注意以下一些內(nèi)容:

    <script src='<%request.getContextPath()%>/dwr/interface/ApartmentDAO.js'></script>

    <script src='<%request.getContextPath()%>/dwr/engine.js'></script>

    <script src='<%request.getContextPath()%>/dwr/util.js'></script>

    其中:

    <script src='<%request.getContextPath()%>/dwr/engine.js'></script>

    <script src='<%request.getContextPath()%>/dwr/util.js'></script>

    是一定不能忘的,注意前面我們還要加上 <%request.getContextPath()%> 防止你是在其他的 context 下使用時(shí)不正確了,這個(gè)細(xì)節(jié)我以前沒有注意,實(shí)在是枉弄了半天,以后不能這么粗心大意了。第一句也必須加上,注意 js 的文件名要和類名一致。

    好了,注意上面幾個(gè)部分 dwr 的使用就可以非常輕松了。今天的思考就到這里了。

    ?

    posted on 2006-09-15 15:24 安文豪 閱讀(461) 評論(0)  編輯  收藏 所屬分類: j2ee

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


    網(wǎng)站導(dǎo)航:
     

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(6)

    隨筆檔案(28)

    文章分類(3)

    文章檔案(4)

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 86706
    • 排名 - 670

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本永久免费a∨在线视频| 亚洲中文久久精品无码| 亚洲成在人线aⅴ免费毛片| 免费网站看v片在线香蕉| 精品亚洲一区二区三区在线播放| 亚洲AV日韩AV永久无码下载| 亚洲 欧洲 自拍 另类 校园| 色妞www精品视频免费看| 久久99精品免费视频| 国产大片线上免费看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 久久亚洲AV成人无码软件| 日韩在线永久免费播放| 亚洲?V乱码久久精品蜜桃| 亚洲AV人无码激艳猛片| 99久久免费观看| 亚洲一区精品视频在线| 一级毛片在线完整免费观看| 99精品在线免费观看| 亚洲国产成人91精品| 99在线视频免费观看| 麻豆精品国产免费观看| 亚洲AV无码精品国产成人| 国产精品99久久免费观看| 亚洲国产一成久久精品国产成人综合| 久久亚洲国产成人精品性色| 精品国产福利尤物免费 | 国产a级特黄的片子视频免费| 亚洲色欲色欲综合网站| 一个人看的www视频免费在线观看| 亚洲精品乱码久久久久久中文字幕| 香蕉视频亚洲一级| 国产色爽免费视频| 中文字幕无码免费久久9一区9 | 亚洲成av人影院| 黄色视屏在线免费播放| 亚洲精品电影在线| 24小时日本电影免费看| 亚洲精品无码久久千人斩| 久草视频在线免费| 亚洲av乱码一区二区三区|