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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    小試Annotation來配置DWR

    DWR2.0以上版本支持通過配置Annotation的方式來配置DWR,
    可以完全拋棄dwr.xml.

    1.和用dwr.xml的配置稍稍有一些不一樣。來看看:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    >

        
    <servlet>
            
    <servlet-name>dwr-invoker</servlet-name>
            
    <servlet-class>
                org.directwebremoting.servlet.DwrServlet
            
    </servlet-class>
            
            
    <init-param>
                
    <param-name>debug</param-name>
                
    <param-value>true</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>classes</param-name>
                
    <param-value>
                com.TestAction,
                com.User
                
    </param-value>
            
    </init-param>
        
    </servlet>

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



        
    <welcome-file-list>
            
    <welcome-file>index.jsp</welcome-file>
        
    </welcome-file-list>
    </web-app>

    注意對于內部類的語法標識,要用$符號 。例如
    java.util.Map$Entry 而不是 java.util.Map.Entry

    2.來看一下遠程訪問類怎么配置:
    package com;

    import org.directwebremoting.annotations.RemoteMethod;
    import org.directwebremoting.annotations.RemoteProxy;
    /*
      類注解,其中name是非必須的。不加的時候就和類名一樣。
    */

    @RemoteProxy(name 
    = "test")
    public class TestAction
    {
        
    /**
         * 遠程調用的方法都須加上此注解,否則無法調用 
         * 
    @param a
         * 
    @param b
         * 
    @return
         
    */

        @RemoteMethod
        
    public int add(int a, int b)
        
    {
            
    return a + b;
        }


        @RemoteMethod
        
    public int minus(int a, int b)
        
    {
            
    return a - b;
        }


        @RemoteMethod
        
    public int multiply(int a, int b)
        
    {
            
    return a * b;
        }


        
    public int devide(int a, int b)
        
    {
            
    if (b != 0)
                
    return a / b;
            
    return 0;
        }


        
    // 測試Bean
        @RemoteMethod
        
    public String testName()
        
    {
            User user 
    = new User();
            user.setUsername(
    "zdw");
            
    return user.getUsername();
        }

    }


    3.再來看看Bean的轉換:
    package com;

    import org.directwebremoting.annotations.DataTransferObject;
    import org.directwebremoting.annotations.RemoteProperty;

    @DataTransferObject
    public class User
    {
        
    private Integer id;
        
    private String username;

        @RemoteProperty
        
    public Integer getId()
        
    {
            
    return id;
        }


        
    public void setId(Integer id)
        
    {
            
    this.id = id;
        }


        @RemoteProperty
        
    public String getUsername()
        
    {
            
    return username;
        }


        
    public void setUsername(String username)
        
    {
            
    this.username = username;
        }

    }

    部署之后,打開調試頁,我們將看到:
    add(1 , 2 );  3
    multiply(
    4 ,5  );  20
    minus(
    1 , 10 );  -9
    devide( 
    1,  1);  
    (Warning: devide() is excluded: Method access is denied by rules in dwr.xml. See below) 
    testName( );  
    "zdw"
    我們發(fā)現(xiàn)沒標注釋的devide()方法沒法調用。

    如果你想通過Spring注入來配置DWR只需加入:
    @RemoteProxy(name = "test", creator = SpringCreator.class, creatorParams =
    { @Param(name = "beanName", value = "test") })
    對應:
    <create javascript="test" creator="spring">
                
    <!-- 其中name是固定值,value是在xml注入的bean -->
                
    <param name="beanName" value="test" />
            
    </create>

    creator :默認就是NewCreate了。

    ok,基本完成,這樣是不是方便多了。~

    posted on 2008-05-30 11:02 々上善若水々 閱讀(2108) 評論(2)  編輯  收藏 所屬分類: AJAX

    評論

    # re: 小試Annotation來配置DWR[未登錄]  回復  更多評論   

    不錯,正在找這方面的內容。
    2008-05-30 17:44 | 草兒

    # re: 小試Annotation來配置DWR[未登錄]  回復  更多評論   

    哈哈,還能這么用。見識了!
    2008-05-30 17:54 |
    主站蜘蛛池模板: 亚洲AV日韩AV永久无码久久| 亚洲成AV人片高潮喷水| 黄页网站在线看免费| 亚洲a∨国产av综合av下载 | a在线免费观看视频| 亚洲人成影院在线高清| 亚洲国产精品一区二区三区久久| 黄色免费在线网站| 亚洲av无码专区国产不乱码| 亚洲女久久久噜噜噜熟女| 国产三级在线观看免费| 国产成人无码区免费内射一片色欲| 亚洲一区动漫卡通在线播放| 亚洲免费视频一区二区三区| 亚洲网站免费观看| 亚洲一级片免费看| 中文字幕无码精品亚洲资源网久久| 在线亚洲精品自拍| 国产视频精品免费| 久久久久久精品免费免费自慰| 男女猛烈无遮掩视频免费软件| 亚洲国产精品无码久久久| 亚洲欧洲日产国码高潮αv| 日韩不卡免费视频| 国产日韩AV免费无码一区二区| 亚洲成av人无码亚洲成av人| 亚洲第一页在线观看| 在线精品亚洲一区二区小说| 成人免费无码精品国产电影| 伊人久久免费视频| 国产中文字幕在线免费观看| MM1313亚洲精品无码久久| 亚洲一区二区三区亚瑟| 亚洲国产二区三区久久| 伊人久久亚洲综合| 亚洲国产专区一区| 四虎AV永久在线精品免费观看| 中文字幕无码免费久久99| 精品国产污污免费网站aⅴ| 成人片黄网站色大片免费观看APP| 日日躁狠狠躁狠狠爱免费视频|