<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无码乱码国产麻豆穿越| 国产高清对白在线观看免费91| 亚洲黄黄黄网站在线观看| 美女裸体无遮挡免费视频网站| 国产成人3p视频免费观看| 亚洲AV色无码乱码在线观看| 国产高清免费在线| 日本在线观看免费高清| 在线观看亚洲精品福利片| a视频在线观看免费| 久久亚洲私人国产精品| 四虎国产精品免费久久| 亚洲综合小说另类图片动图| 免费观看的av毛片的网站| 少妇亚洲免费精品| 亚洲VA中文字幕不卡无码| 在线日本高清免费不卡| 亚洲色成人四虎在线观看| 亚洲JIZZJIZZ中国少妇中文| 精品国产免费一区二区三区| 久久精品九九亚洲精品| 永久免费看mv网站入口| ssswww日本免费网站片| 在线电影你懂的亚洲| 在线免费观看一级毛片| 一级做a爱过程免费视频高清| 亚洲性猛交XXXX| 国产92成人精品视频免费 | 国产国拍亚洲精品福利| a级毛片100部免费观看| 亚洲xxxxxx| 亚洲人成电影在线播放| 日本视频一区在线观看免费| 九九精品国产亚洲AV日韩| 亚洲AV无码乱码在线观看富二代| 欧美a级成人网站免费| 国产免费内射又粗又爽密桃视频 | 69天堂人成无码麻豆免费视频|