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

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

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

    posts - 23, comments - 0, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    dwr開發總結 dwr+spring

    Posted on 2008-08-18 17:04 beauty9235 閱讀(353) 評論(0)  編輯  收藏

    作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229619  發表時間: 2008年08月08日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    dwr開發總結 dwr+spring
    參考資料
    http://wiki.javascud.org/display/dwrcn/Spring+Integration
    http://wiki.javascud.org/display/dwrcn/Getting+Started
    測試http://{your app}//dwr/
    第一步 web.xml
       <!--***********************dwr setting***********************-->
        <servlet>
            <servlet-name>dwr-invoker</servlet-name>
            <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>true</param-value>
            </init-param>
        </servlet>

        <servlet-mapping>
            <servlet-name>dwr-invoker</servlet-name>
            <url-pattern>/dwr/*</url-pattern>
        </servlet-mapping>
     <!--*********************** spring setting ***********************-->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/classes/applicationContext.xml
            </param-value>
        </context-param>
    第二步  dwr.xml
    <!DOCTYPE dwr PUBLIC
        "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
        "

    <dwr>
      <allow>
        <create creator="new" javascript="JDate">
          <param name="class" value="java.util.Date"/>
        </create>
        <create creator="new" javascript="TestBean">
          <param name="class" value="com.photo.test.TestBean"/>
        </create>
          <create creator="spring" javascript="userAction">          這里交給spring進行創建
              <param name="beanName" value="userAction"/>
          </create>
        <convert converter="bean" match="com.photo.dao.domain.User"/>返回類型需要反換的bean
      </allow>
    </dwr>
    第三步 applicationContext.xml
    <beans>   
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close" singleton="true">
           ....
        </bean>
      
        <bean id="userService" class="com.photo.service.UserService">
      ...
     </bean>
         <bean id="userAction" class="com.photo.action.UserAction">  這里是spring創建bean的定義
      <property name="userService" ref="userService"/>         將業務層注入
     </bean>

    第四步 類、網頁
     User.java 返回的實體
     public class User {
         Integer id;
         String username;
         String password;

         public Integer getId() {
             return id;
         }

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

         public String getUsername() {
             return username;
         }

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

         public String getPassword() {
             return password;
         }

         public void setPassword(String password) {
             this.password = password;
         }
     }
     UserAction.java dwr框架調用
     public class UserAction {
      private UserService userService; //spring依賴注入,實現與持久層通信
      public void setUserService(UserService userService) {
       this.userService = userService;
      }
      public Map getUserList(String id){
       Map map=new HashMap();
       map.put("userList",userService.queryUser(new User())) ;//查詢實體bean User
       map.put("id",id);//用于顯示的div id
       return map ;
      }
     }
     測試頁面testajax.html
      <html>
      <head>
          <META http-equiv=Content-Type content="text/html; charset=UTF-8">
          <title>First Example</title>
          <script type='text/javascript' src='/dwr/interface/userAction.js'></script>
          <script type='text/javascript' src='/dwr/engine.js'></script>
          <script type='text/javascript' src='/dwr/util.js'></script>
          <script type="text/javascript">
              var showUser = function(data) {
                  var id = data["id"];//取出頁面顯示的id
                  var userList = data["userList"];//取出頁面顯示的Userlist
                  if ($(id).style.display == "none") {
                      $(id).style.display = "block";
                      var htmlStr = ""; //alert(id);
                      for (var property in userList) {
                          var user = userList[property];
                          htmlStr += user.id + " " + user.username + "  " + user.password + "<br>";
                      }
                      $(id).innerHTML = htmlStr;
                      return;
                  }
                  $(id).style.display = "none";
              }
          </script>
      </head>
      <body>
      這是觸發函數
      <a style="cursor:hand" id="" onclick="userAction.getUserList('div_show',showUser);">show Users</a> <br>
            這塊區域用于顯示
      <div id="div_show" style="display:none"></div>
      </body>
      </html>


    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 久久亚洲精品高潮综合色a片| 久久夜色精品国产亚洲| 亚洲午夜精品一区二区公牛电影院 | 99久久99久久精品免费看蜜桃 | 野花高清在线观看免费完整版中文| 亚洲高清无在码在线无弹窗 | 亚洲视频在线观看视频| 最近中文字幕电影大全免费版| 久久亚洲精品国产精品| 8090在线观看免费观看| 亚洲午夜精品国产电影在线观看| 国产h视频在线观看免费| 亚洲国产精华液2020| 国产国产成年年人免费看片| 美女黄频视频大全免费的| 亚洲一区二区三区乱码A| 日韩精品无码免费专区午夜不卡| 亚洲精品美女久久777777| 91香蕉国产线观看免费全集| 亚洲婷婷第一狠人综合精品| 国产美女精品久久久久久久免费| 瑟瑟网站免费网站入口| 国内精品久久久久久久亚洲| 中文字幕成人免费视频| 亚洲综合色丁香婷婷六月图片| 国产乱子影视频上线免费观看| 波霸在线精品视频免费观看| 亚洲高清不卡视频| 国产精品免费_区二区三区观看| 一本久久免费视频| 亚洲视频手机在线| 四虎国产精品免费视| 日本中文字幕免费高清视频| 亚洲综合欧美色五月俺也去| 亚洲国产精品无码久久久久久曰| 久久免费福利视频| 久久久久久亚洲精品无码 | 亚洲日本国产乱码va在线观看| 在线免费观看一级毛片| 香蕉视频在线免费看| 亚洲无人区码一二三码区别图片|