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

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

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

    無聊人士

    搬家==》www.soapui.cn

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

    js是我一直很頭疼的事了,尤其是對dom的操作上面,dwr感覺就是在直接調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去調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中,已經在web.xml中配了spring的listener,直接寫beanName就行。

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

    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參數,是用戶登錄成功后,session.setAttribute("user",user)存放的。在html里面,用js是無法讀到的,因此,自己定義了一個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 閱讀(6405) 評論(8)  編輯  收藏 所屬分類: Others

    評論

    # re: 接觸DWR 2006-09-21 22:02 java-man
    不錯~頂一個  回復  更多評論
      

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

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

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

    # re: 接觸DWR 2007-04-09 19:40 曉松
    多謝指點啊  回復  更多評論
      

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

    # re: 接觸DWR 2007-04-28 17:23 qq
    挺好,學習  回復  更多評論
      

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

    主站蜘蛛池模板: 中文字幕在线观看亚洲日韩| 久久久久久亚洲精品| 亚洲AV无码成人精品区日韩 | 亚洲天堂电影在线观看| 亚洲免费视频网站| 亚洲精品午夜在线观看| h视频在线观看免费完整版| 亚洲男人电影天堂| 性xxxxx免费视频播放| 亚洲中文字幕无码av| 免费看a级黄色片| 视频一区二区三区免费观看| 亚洲男人的天堂在线va拉文| 日本精品久久久久久久久免费| 中文字幕亚洲专区| 日本免费中文视频| 亚洲人成网站18禁止久久影院 | 亚洲精品乱码久久久久久按摩 | 亚洲人成网站色在线观看| 国产精品视频免费一区二区三区| 在线亚洲v日韩v| 人人狠狠综合久久亚洲88| 毛片免费全部播放无码| 亚洲中文字幕久久精品无码A| 国产大片51精品免费观看| 一个人看的www在线免费视频| 亚洲成AV人片在WWW色猫咪| 在线成人爽a毛片免费软件| 亚洲一区中文字幕| 免费a级毛片大学生免费观看| 成人性做爰aaa片免费看| 亚洲国产精品成人综合久久久| 永久黄网站色视频免费直播| 国产免费A∨在线播放| 亚洲国产综合在线| 免费一级毛片不卡在线播放| 无码成A毛片免费| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 夜夜嘿视频免费看| 亚欧乱色国产精品免费视频| youjizz亚洲|