<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é)果弄進一個select里面。一開始是用xmlrequest去請求后端一個groovy的url,得到一個xml,然后把xml的內(nèi)容填進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中定義了三個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是無法讀到的,因此,自己定義了一個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
    不錯~頂一個  回復(fù)  更多評論
      

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

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

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

    # re: 接觸DWR 2007-04-09 19:40 曉松
    多謝指點啊  回復(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ù)  更多評論
      

    主站蜘蛛池模板: 在线观看国产区亚洲一区成人| 114级毛片免费观看| jizz在线免费观看| 免费精品视频在线| 免费人成又黄又爽的视频在线电影| 亚洲av无码一区二区三区人妖| 亚洲一本一道一区二区三区| 亚洲熟女www一区二区三区| 亚洲影院天堂中文av色| 亚洲成a人片在线观看天堂无码| 亚洲中文字幕无码中文| 亚洲国产精品网站在线播放| 亚洲AV无码专区国产乱码不卡| 亚洲AV无码资源在线观看| 国产av无码专区亚洲av毛片搜| 免费播放美女一级毛片| 又粗又长又爽又长黄免费视频| 亚洲免费日韩无码系列| 国产一区二区免费视频| 久久WWW免费人成一看片| 麻豆一区二区免费播放网站| 免费看a级黄色片| 亚洲精品久久久www| 亚洲乱码无码永久不卡在线| 亚洲人成电影在在线观看网色| 亚洲免费视频观看| 国产亚洲精彩视频| 人妻在线日韩免费视频| 亚洲香蕉免费有线视频| 天天摸天天操免费播放小视频| 伊人久久亚洲综合影院| 亚洲国产美女精品久久久久∴| 亚洲精品视频专区| 久久精品国产亚洲av瑜伽| 国产精品1024在线永久免费| 131美女爱做免费毛片| 日本无卡码免费一区二区三区| 亚洲精品国产手机| 亚洲日韩一区精品射精| 亚洲精品偷拍视频免费观看| 69av免费观看|