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

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

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

    無聊人士

    搬家==》www.soapui.cn

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      32 隨筆 :: 0 文章 :: 60 評論 :: 0 Trackbacks
    需求很簡單,就是用js向后端請求,然后把請求的結(jié)果弄進(jìn)一個(gè)select里面。一開始是用xmlrequest去請求后端一個(gè)groovy的url,得到一個(gè)xml,然后把xml的內(nèi)容填進(jìn)select里面去。做完老瞅著不順眼,正好在看ajax的資料,拿dwr改造一下。

    js是我一直很頭疼的事了,尤其是對dom的操作上面,dwr感覺就是在直接調(diào)java接口,操作java對象,省事省心啊。

    用dwr,先得在web.xml中配一下。

     1    <servlet>
     2        <servlet-name>dwr-invoker</servlet-name>
     3        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
     4        <init-param>
     5            <param-name>debug</param-name>
     6            <param-value>true</param-value>
     7        </init-param>
     8    </servlet>
     9    <servlet-mapping>
    10        <servlet-name>dwr-invoker</servlet-name>
    11        <url-pattern>/dwr/*</url-pattern>
    12    </servlet-mapping>
    13

    然后就是配dwr.xml文件了。
    dwr和spring貼得比較緊,不用折騰,直接讓dwr去調(diào)spring中定義的bean了。
     1<?xml version="1.0" encoding="UTF-8"?>
     2<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd" >
     3<dwr>
     4    <allow>
     5        <create javascript="ServerManager" creator="spring">
     6            <param name="beanName">ServerManager</param>
     7        </create>
     8    </allow>
     9</dwr>
    10
    我的project中,已經(jīng)在web.xml中配了spring的listener,直接寫beanName就行。

    在ServerManager接口中定義了如下方法
      List<Server> loadAll(User manager, ServerStatus status, String order);
    因此,在dwr中定義了三個(gè)convert(一開始沒配,結(jié)果怎么調(diào)都不成功)。

    1        <convert converter="bean" match="com.yninfo.sa.domain.Server" />
    2        <convert converter="bean" match="com.yninfo.sa.domain.ServerStatus" />
    3        <convert converter="bean" match="com.yninfo.sa.domain.User" />


    loadAll方法中的manager參數(shù),是用戶登錄成功后,session.setAttribute("user",user)存放的。在html里面,用js是無法讀到的,因此,自己定義了一個(gè)java bean。
    1public class Remote {
    2  public User getUser(HttpSession session) {
    3    return (User) session.getAttribute("user");
    4  }

    5}

    6

    同樣的,在dwr中配了一下
    1        <create javascript="Remote" creator="new">
    2            <param name="class" value="com.yninfo.sa.web.ajax.Remote" />
    3        </create>


    所有配置完成后,js代碼如下:
     1<script type='text/javascript' src='dwr/interface/Remote.js'></script>
     2<script type='text/javascript' src='dwr/interface/ServerManager.js'></script>
     3<script type='text/javascript' src='dwr/engine.js'></script>
     4<script type='text/javascript' src='dwr/util.js'></script>
     5<script>
     6    function init(){
     7        Remote.getUser(
     8            function(user){
     9                ServerManager.loadAll(user,null,null,load);
    10            }
    );
    11    }

    12    function load(data){
    13        for (var i=0; i<data.length; i++{
    14          document.DailyRecordAdd.elements["model.serverId"].options[i]=
    15            new Option(data[i].name,data[i].id);
    16        }

    17    }

    18    window.onload = function (){
    19        init();
    20    }

    21</script>


    最終的配置文件:
     1<?xml version="1.0" encoding="UTF-8"?>
     2<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd" >
     3<dwr>
     4    <allow>
     5        <create javascript="ServerManager" creator="spring">
     6            <param name="beanName">ServerManager</param>
     7            <include method="add" />
     8            <include method="findByPrimaryKey" />
     9            <include method="loadAll" />
    10        </create>
    11        <create javascript="Remote" creator="new">
    12            <param name="class" value="com.yninfo.sa.web.ajax.Remote" />
    13        </create>
    14        <convert converter="bean" match="com.yninfo.sa.domain.User" />
    15        <convert converter="bean" match="com.yninfo.sa.domain.Server" />
    16        <convert converter="bean" match="com.yninfo.sa.domain.ServerStatus" />
    17    </allow>
    18</dwr>
    19

    posted on 2005-12-05 00:04 mmwy 閱讀(6407) 評論(8)  編輯  收藏 所屬分類: Others

    評論

    # re: 接觸DWR 2006-09-21 22:02 java-man
    不錯(cuò)~頂一個(gè)  回復(fù)  更多評論
      

    # re: 接觸DWR 2006-11-09 16:27 鍋巴—new
    問個(gè)問題,在web.xml中配置以后,系統(tǒng)會自動的去找dwr.xml,然后解讀里面的內(nèi)容,是這樣嗎?不需要其他的配置?  回復(fù)  更多評論
      

    # re: 接觸DWR 2006-11-22 16:18 loook123
    dwr 是個(gè)好東西  回復(fù)  更多評論
      

    # re: 接觸DWR 2006-12-05 23:51 Mars
    您好,我剛學(xué)DWR,可以請教一個(gè)問題么?
    我在本機(jī)Windows調(diào)試完全成功,放到Lunix虛擬服務(wù)器上就報(bào)DWRUtil is not defined錯(cuò)誤,請問您遇到過類似情況么?有方法解決么?  回復(fù)  更多評論
      

    # re: 接觸DWR 2007-04-09 19:40 曉松
    多謝指點(diǎn)啊  回復(fù)  更多評論
      

    # re: 接觸DWR 2007-04-17 09:46 johnrobbet
    我覺得是你配置上的問題
    @Mars
      回復(fù)  更多評論
      

    # re: 接觸DWR 2007-04-28 17:23 qq
    挺好,學(xué)習(xí)  回復(fù)  更多評論
      

    # re: 接觸DWR 2008-10-29 18:49 ja
    恩,清晰  回復(fù)  更多評論
      

    主站蜘蛛池模板: 在线观看亚洲精品国产| 污污视频免费观看网站| 2048亚洲精品国产| 午夜爱爱免费视频| 最近的中文字幕大全免费8| 国产综合亚洲专区在线| 免费观看大片毛片| 亚洲高清免费视频| 亚洲激情中文字幕| 成年女人午夜毛片免费看| 亚洲精品免费视频| 91福利免费网站在线观看| 色屁屁在线观看视频免费| 亚洲欧洲日产国码久在线| 亚洲成人免费网站| 亚洲男女一区二区三区| 四虎永久在线精品视频免费观看| 美女视频黄是免费的网址| 一日本道a高清免费播放| 久久亚洲AV成人出白浆无码国产| 中文亚洲AV片在线观看不卡| 亚洲国产精品人人做人人爱| 国产免费观看网站| 国产禁女女网站免费看| 久久国产乱子伦精品免费看| 亚洲JIZZJIZZ妇女| 久久亚洲精品无码网站| 精品亚洲成A人在线观看青青| 亚洲欧洲无码AV不卡在线| 亚洲国产精品无码久久98| 亚洲天堂男人影院| 亚洲中文字幕一二三四区 | 亚洲youwu永久无码精品| 亚洲夂夂婷婷色拍WW47| 亚洲熟伦熟女专区hd高清| 亚洲日韩中文字幕一区| 亚洲人成网站999久久久综合| 亚洲国产日韩a在线播放| 香蕉视频亚洲一级| 新最免费影视大全在线播放| 亚洲资源最新版在线观看|