spring整合dwr(转载)

1,首先加入Hibernate,Spring,Dwr的Jar包

2,在Web.xml中加入Dwr,Spring监听代码

<!-- dwr -->
<servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>

      <!--注意这里 org.directwebremoting.spring.DwrSpringServlet ,不能用这个,这个好像是单独用的时候调用的东西,但是整合的时候应该用这个东西。-->
      <init-param>
        <param-name>debug</param-name>
        <param-value>false</param-value>
       </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
   
    <!-- spring -->
<filter>
    <filter-name>hibernate-listener</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>hibernate-listener</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2,有一个表User在Spring application.xml 中的配置

<bean id="UserDAO" class="com.lch.dao.UserDAO">
   <property name="sessionFactory">
    <ref bean="sessionFactory" />
   </property>
</bean>

<!-- impl -->
<bean id="uimpl" class="com.lch.impl.UserImpl">
   <property name="dao" ref="UserDAO"></property>
</bean>

3,在dwr.xml中的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
        <create creator="spring" javascript="method">
            <param name="beanName" value="uimpl"/>
            <include method="findAll"/>
                </create>
        <convert converter="bean" match="com.lch.dao.User"/>
    </allow>
</dwr>

//注意creator属性的值可以是new,struts,spring......因为此处是整合spring来做的,所以设置成 “spring”,javascript="uimpl" 表示实例转换成javascript语言后以uimpl命名,前台页面可以通过代码(<script src="../../dwr/interface/method.js" type="text/javascript"></script>)来调用。param元素的name属性值可以是 class,beanName等,此处用beanName,value得值是定义在applicationContext.xml中某个bean的id 值。

5,最后建一个JSP页面:

<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/interface/method.js'></script>
<script type="text/javascript">
   function printdata(){
  method.findAll(callback); // findAll 上DAO里面的方法
   }
   function callback(data){
   var userlist=[
   function(data){return data.uid;},
   function(data){return data.uname;},
   function(data){return data.password;}
   ];
   DWRUtil.addRows("tab", data, userlist);//tab为tbody的id,而不能为table的id
   }
</script>
<body>
    123<br>
    <input type="button" value="test" onClick="printdata()">
    <table border="1">
    <tbody id="tab">
    <tr>
    <td>id</td><td>uanme</td><td>pwd</td>
    </tr>
    </tbody>
    </table>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值