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

          dwr開發總結 dwr+spring

          Posted on 2008-08-18 17:04 beauty9235 閱讀(352) 評論(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推薦




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


          網站導航:
           
          主站蜘蛛池模板: 东乌| 余江县| 策勒县| 梅州市| 新龙县| 桐柏县| 仪征市| 三原县| 汶上县| 富裕县| 宝坻区| 蓬溪县| 桦甸市| 治县。| 绿春县| 左贡县| 麻江县| 长治县| 芜湖县| 密山市| 凤台县| 乌兰浩特市| 浠水县| 玉山县| 平远县| 永安市| 临汾市| 大化| 泸水县| 汝州市| 仪征市| 海淀区| 剑河县| 永定县| 陆良县| 乌拉特中旗| 霞浦县| 渝中区| 屏边| 金溪县| 钟山县|