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

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

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

    期待更好更穩定的開源FrameWork的出現,讓我們一起努力吧!  
    日歷
    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統計
    • 隨筆 - 78
    • 文章 - 1
    • 評論 - 29
    • 引用 - 0

    導航

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案(42)

    文章檔案(37)

    相冊

    搜索

    •  

    積分與排名

    • 積分 - 45522
    • 排名 - 1064

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

     
    DWR使用手記

          前段時間想做個東西玩玩,又想學點新的技術,就想起來用DWR(Direct Web Remoting)。把東西做完之后,想想DWR用起來還是很方便的,DWR主要是為了方便javascript調用java class方法,在中間起了一個協調作用,這個功勞主要取決于apache的開源API-bsf.jar。DWR可以聲明哪些類可以供javascript調用,可以細到只能調用哪些方法。目前DWR還支持調用spring beans。總結一下使用過程:

     1.在WEB.XML中配置DWRServlet:

     <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <display-name>DWR Servlet</display-name>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>

     <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>

     上面配置debug=true后,我們就可以通過http://localhost/webapp/dwr/查看,當前有哪些類可以供javascript調用,同時還可以對類中方法進行測試.對于DWRServlet還有一些參數可以自行設置,如logLevel設置日志級別等.具體可以參照源碼.

     2 DWR默認的讀取/WEB-INF/dwr.xml文件,dwr.xml文件配置如下:

    <dwr>
      <allow>

        <init></init>
            <create creator="new" javascript="Ask">
                 <param name="class" value="com.test.Ask"/>
            </create>
            <convert converter="bean" match="Message"/>

            <signatures></signatures>
       </allow>
    </dwr>

           從上面可以看出來dwr.xml文件的基本結構,每個<create>聲明一個可供javascript調用的類,javascript="Ask"表明:在javascript中可以用Ask調用類Ask的方法,creator="new"表明每個請求都新建一個Ask實例.

           下面的<convert>是:如果在類中把一個對象作為參數(例如A.take(B b)),從javascript調用此方法時,DWR會自動把javascript傳過來的參數自動轉為對應的bean對象.dwr中已經聲明了部分參數類型的自動轉換,例如string,int等.

          如果我們不想每個請求都新建一個對象,所有請求使用一個實例,我們可以這樣配置:(需要bsf.jar)

      <create creator="script" javascript="Ask">

             <param name="language" value="beanshell"/>

             <param name="script">

                <![CDATA[

                             import com.test.Ask;

                             return Ask.getInstance();

               ]]>

            </param>

       </create>

      同時在<create>中還可以加入<include method="answe"/>一個或多個,用來限制javascript可以調用哪些方法. 

     

           <signatures>:如果我們在類方法中聲明了List這樣的類型參數,DWR不知道傳過來的值自動轉化為什么類型放到List中,這時候我們就需要在這個標簽中聲明,一般的我們還是建議放到List中的是javabean,不要是Date等這些類型.

    <signatures>  <![CDATA[  import java.util.List;  import com.example.Check;  Check.setLotteryResults(List<Integer> nos);  ]]></signatures>
      3.JAVA類和JAVASCRIPT調用
       只舉簡單例子:
    public class Ask
    {
       public String answer(String question)
       {
          return question;
       }
    }
    頁面文件:
    <script type='text/javascript' src='dwr/engine.js'></script>
    <script type='text/javascript' src='dwr/util.js'></script>
    <!--下邊這個是必須的-->
    <script type='text/javascript' src='dwr/interface/Ask.js'></script>
    <script language="javascript">
    function getAnswer()
    {
        //用一個function接收返回值
        Ask.answer(gotAnswer);
    }
    //ans即為返回值
    function gotAnswer(ans)
    {
       alert(ans);
    }
    </script>
        總體用起來DWR那是"相--當"靈活的,目前DWR.JAR到了1.1BETA版, 官方網站http://getahead.ltd.uk/dwr/index


    posted on 2007-07-03 16:51 BlueSky_itwangxinli 閱讀(310) 評論(0)  編輯  收藏

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


    網站導航:
     
     
    Copyright © BlueSky_itwangxinli Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 免费视频爱爱太爽了| 亚洲日韩乱码中文无码蜜桃| 又黄又爽一线毛片免费观看| 日韩a级毛片免费视频| 免费精品一区二区三区在线观看| 成人无遮挡裸免费视频在线观看 | 日日摸日日碰夜夜爽亚洲| 国产午夜亚洲精品国产| 亚洲色偷偷综合亚洲av78| 亚洲欧洲无码一区二区三区| 亚洲av永久无码精品秋霞电影秋| 亚洲第一综合天堂另类专| 免费播放美女一级毛片| 曰批全过程免费视频免费看| 四虎影视在线看免费观看| 久久久久久噜噜精品免费直播 | wwwxxx亚洲| 亚洲免费综合色在线视频| 看一级毛片免费观看视频| 黄色大片免费网站| 国产高潮久久免费观看| 一区二区三区无码视频免费福利| 色欲A∨无码蜜臀AV免费播 | a免费毛片在线播放| 成人电影在线免费观看| 91青青青国产在观免费影视| 国产在线观看免费观看不卡| 日韩午夜免费视频| 亚洲无码黄色网址| 亚洲国产人成在线观看69网站| 亚洲无限乱码一二三四区| 亚洲成a人片在线不卡一二三区 | 亚洲ts人妖网站| 国产成人 亚洲欧洲| baoyu122.永久免费视频| 曰批全过程免费视频播放网站| 老司机永久免费网站在线观看| 亚洲美女高清一区二区三区| 亚洲AV人无码激艳猛片| 亚洲日韩久久综合中文字幕| 一个人晚上在线观看的免费视频|