空间无限

身是菩提树,心如明镜台,时时勤拂拭,勿使染尘埃。 菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。
posts - 5, comments - 15, trackbacks - 0, articles - 8
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Dwr与Spring入门实例

Posted on 2007-04-23 23:31 javabright 阅读(2793) 评论(4)  编辑  收藏 所属分类: 编程语言
下面讲一下DWR与Spring的集成:
还是上面那个例子用Spring搞定大部分和上面一样
新建类User(包换了)
代码
  1. package org.li.dwr.spring;   
  2.   
  3. import java.util.List;   
  4.   
  5. import org.li.dwr.Book;   
  6.   
  7. public class User   
  8. {   
  9.     private String welcome;   
  10.     private String username;   
  11.     private String address;   
  12.     private List<Book> books;   
  13.     private int age;   
  14.     public String getAddress()   
  15.     {   
  16.         return address;   
  17.     }   
  18.     public void setAddress(String address)   
  19.     {   
  20.         this.address = address;   
  21.     }   
  22.     public int getAge()   
  23.     {   
  24.         return age;   
  25.     }   
  26.     public void setAge(int age)   
  27.     {   
  28.         this.age = age;   
  29.     }   
  30.     public String getUsername()   
  31.     {   
  32.         return username;   
  33.     }   
  34.     public void setUsername(String username)   
  35.     {   
  36.         this.username = username;   
  37.     }   
  38.     public String getWelcome()   
  39.     {   
  40.         return welcome;   
  41.     }   
  42.     public void setWelcome(String welcome)   
  43.     {   
  44.         this.welcome = welcome;   
  45.     }   
  46.     public List<Book> getBooks()   
  47.     {   
  48.         return books;   
  49.     }   
  50.     public void setBooks(List<Book> books)   
  51.     {   
  52.         this.books = books;   
  53.     }   
  54.     public User getUser(String welcome)   
  55.     {   
  56.         this.welcome=welcome;   
  57.         return this;   
  58.     }   
  59. }  

Book还是以前那个
在src下新建application.xml文件(spring的配置文件)
代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3.   
  4. <beans>  
  5.     <bean id="user" class="org.li.dwr.spring.User">  
  6.         <property name="username">  
  7.             <value>javafish</value>  
  8.         </property>  
  9.         <property name="age">  
  10.             <value>21</value>  
  11.         </property>  
  12.         <property name="address">  
  13.             <value>北京市海淀区</value>  
  14.         </property>  
  15.     </bean>  
  16. </beans>  

在dwr.xml加入:
代码
  1. <create javascript="springUser" creator="spring">  
  2.             <param name="beanName" value="user"></param>  
  3.             <!-- 指定Spring配置文件的位置,如果没设置DWR会根据web.xml找到主配置文件,不过速度上就慢了 -->  
  4.             <param name="location" value="applicationContext.xml"></param>  
  5.         </create><convert match="org.li.dwr.spring.User" converter="bean"></convert>  

新建springUserInfo.html
代码
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  2. <html>  
  3.   <head>  
  4.     <title>UserInfo.html</title>  
  5.     <meta http-equiv="content-type" content="text/html; charset=UTF-8">  
  6.     <script type='text/javascript' src='dwr/interface/springUser.js'></script>  
  7.     <script type='text/javascript' src='dwr/engine.js'></script>  
  8.     <script type='text/javascript' src='dwr/util.js'></script>  
  9.     <script type="text/javascript" src="springuserInfo.js"></script>  
  10.   
  11.   </head>  
  12.      
  13.   <body>  
  14.     请输入你的名字:   
  15.     <input id="name" type="text"/>  
  16.     <input id="jbutton" type="button" value="得到javafish(spring)的信息"/>  
  17.     <div id="result"></div>  
  18.     <script>load()</script>  
  19.   </body>  
  20. </html>  

新建springUserInfo.js
代码
  1. function load()   
  2. {   
  3.     var jbutton = $("jbutton");   
  4.     jbutton.onclick=function(event)   
  5.     {   
  6.         bOnClick();   
  7.     };   
  8.     var sbutton = $("sbutton");   
  9.     sbutton.onclick=function(event)   
  10.     {   
  11.         sOnClick();   
  12.     };   
  13. }   
  14. function bOnClick()   
  15. {   
  16.     springUser.getUser($("name").value,callback);   
  17. }   
  18. function callback(msg)   
  19. {   
  20.     var user = msg;   
  21.     DWRUtil.setValue('result',"欢迎你!"+user.welcome+"   姓名:"+user.username+",年龄:"+user.age+",住址:"+user.address);   
  22. }  

在web.xml中加入
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
运行服务器输入http://localhost:8080/DWRStudy/springUserInfo.html,可以看到运行结果
主要的区别是dwr.xml的配置,需要在creator=spring,然后里面的<param>的name用beanName,值是spring的配置文件里的bean的id。Name=location是指定spring的配置文件的路径(如果不指定DWR可以根据web.xml自动找到spring的主配置文件)。

评论

# re: Dwr与Spring入门实例  回复  更多评论   

2008-03-30 20:43 by shenxinhui
大哥 请帮我解决一下问题

dwr.xml的配置
<create javascript="spring" creator="dwrTest">
<param name="beanName" value="dwrTest1"></param>
<param name="location" value="applicationContext.xml"></param>
</create>

spring applicationContext.xml的配置
<bean id="dwrTest1" class="com.study.dwr.DwrTest" />


http://localhost:8000/[my-webapp]/dwr 总是显示不了 dwrTest

直接访问页面时 javaScript提示 dwrTest 未定义

请你帮忙查查到底是什么地方出错?先谢谢啦

# re: Dwr与Spring入门实例  回复  更多评论   

2008-12-27 14:14 by liqi
<create javascript="spring" creator="dwrTest">
<param name="beanName" value="dwrTest1"></param>
<param name="location" value="applicationContext.xml"></param>
</create>
这样的配置,dwr会自动生成一个dwrTest.js文件,必须引入到页面中去,否则是找不到的。如:
<script type='text/javascript' src='dwr/interface/dwrTest.js'></script>
dwrTest.js文件引入的路径就可以了。

# re: Dwr与Spring入门实例  回复  更多评论   

2009-02-11 22:29 by sdfsdf
sdfsdf

# re: Dwr与Spring入门实例  回复  更多评论   

2009-12-04 08:26 by xuexizhe
学点技能

只有注册用户登录后才能发表评论。


网站导航: