`
daha33
  • 浏览: 52452 次
社区版块
存档分类
最新评论

引:dwr实例

阅读更多
开发环境:eclipse3.1.2  myeclipse4.1.1   Tomcat5.0.28   Mysql5.0
dwr类包版本是1.1

步骤一:配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>3</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
    </servlet>


    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <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>
    
    <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>  
      
    <filter>
        <filter-name>EncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>

    </filter>
    <filter-mapping>
        <filter-name>EncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

      <error-page>
        <error-code>404</error-code>
        <location>/404.jsp</location>
    </error-page>

    <error-page>
        <error-code>500</error-code>
        <location>/500.jsp</location>
    </error-page>

    <taglib>
        <taglib-uri>/WEB-INF/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/WEB-INF/struts-logic</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/WEB-INF/struts-html</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/WEB-INF/struts-tiles</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>/WEB-INF/ntu</taglib-uri>
        <taglib-location>/WEB-INF/tld/ntu.tld</taglib-location>
    </taglib>

</web-app>


二:spring中注入相关service
<bean id="ajaxTestService" class="com.lion.cms.domain.service.AjaxTestServiceImp">
        <property name="commonDAO">
            <ref bean="commonDAO" />
        </property>
    </bean>


三:AjaxTestServiceImp代码
public class AjaxTestServiceImp implements IAjaxTestService {
   
    private ICommonDAO commonDAO;

      
    public void setCommonDAO(ICommonDAO commonDAO) {
        this.commonDAO = commonDAO;
    }

    public List getEmployeeById(String deptid) {
        DetachedCriteria detachedCriteria=DetachedCriteria.forClass(Employee.class);
        detachedCriteria.setFetchMode(Employee.PROP_DEPTID,FetchMode.JOIN);
        detachedCriteria.add(Restrictions.eq(Employee.PROP_DEPTID+".id",deptid));
        List result=commonDAO.findByCriteria(detachedCriteria);
        return result;
        
    }
}


四:dwr.xml配置
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> 

<dwr>
 <allow>
  <create creator="spring" javascript="ajaxTestService">
   <param name="beanName" value="ajaxTestService" />
   <include method="getEmployeeById" />
  </create>
        <convert converter="bean" match="com.lion.cms.domain.pojo.Employee"> 
            <param name="exclude" value="com.lion.cms.domain.pojo.Dept"/> 
        </convert>
 </allow>
</dwr>


五:jsp页面
<html:select styleId="deptid" property="deptid" onchange="loadEmployList(this.value)">
                <html:optionsCollection name="deptlist" label="deptname" value="id"/>
            </html:select>
            <html:select property="employee" styleId="employee">
            <html:option value="" >请选择</html:option>
            </html:select>     

<script type="text/javascript">
<!--
    // 加载employee下拉列表。
    function loadEmployList(deptid){
        if(deptid==null||deptid==''){
        clearEmployeeSel();
        return;
        }
        ajaxTestService.getEmployeeById(loadEmployListCallback,deptid);
    }
    var loadEmployListCallback=function(items){
        clearEmployeeSel();
        DWRUtil.addOptions("employee",items,"id","truename");
    }
    function clearEmployeeSel(){
        DWRUtil.removeAllOptions("employee");
        DWRUtil.addOptions("employee",[{label:'请选择',value:''}],"value","label");
    }
//-->
</script>



职工和部门是多对一关系,例子简单,不详细叙述了

  • DWRdoc.zip (1.1 MB)
  • 描述: dwr中文文档
  • 下载次数: 845
分享到:
评论

相关推荐

    JavaScript:DWR的用法实例

    在实际开发中,DWR的用法实例可能包括但不限于以下几种情况: - **用户界面实时更新**:例如,在聊天应用中,当有新消息时,服务器可以通过DWR主动向客户端发送更新,实时显示新消息。 - **数据表格动态加载**:在...

    Ajax框架:简单的dwr实例

    通过实践一个简单的DWR实例,你可以更好地理解如何在实际项目中使用它来构建高效、响应式的Web应用。随着对DWR的深入理解和应用,你会发现它不仅可以提升开发效率,还能显著提升应用的用户体验。

    dwr经典实例(9个常用实例)

    这个压缩包文件"dwrtest"很可能包含了9个经典的DWR实例,这些实例通常会展示DWR的主要功能和用法。以下是关于DWR的一些关键知识点的详细介绍: 1. **远程方法调用(RMI-like)**: DWR的核心特性是能够像本地方法一样...

    ajax框架:dwr 实战(包括整合

    **DWR(Direct Web Remoting)**是一种JavaScript库和Java框架,它允许Web应用程序实现双向通信,即在客户端浏览器和服务器之间进行实时的数据交换。DWR使得开发者可以像操作本地对象一样操作服务器端的Java对象,极...

    dwr.demo dwr实例

    4. **HTML和Ajax交互**:实例可能会包含一些HTML页面,展示了如何使用DWR的JavaScript API创建AJAX请求,更新页面内容,以及处理用户交互。 5. **安全性和性能优化**:DWR支持缓存和批处理,以提高性能。此外,为了...

    dwr实例,从后台取数据显示

    在你提供的实例中,“dwr实例,从后台取数据显示”表明这是一个使用DWR从服务器获取数据并在前端展示的简单应用。 1. **DWR的工作原理**:DWR通过在服务器上设置一个代理,允许JavaScript调用Java方法,就像它们是...

    dwr实例,JavaScript调用java方法的小例子

    在"TestDwr"这个压缩包中,我们可以预期包含了一个简单的DWR实例,展示了如何利用DWR将Java方法暴露给JavaScript来调用。以下是一些关于DWR的关键知识点: 1. **DWR配置**:DWR的使用首先需要在服务器端进行配置,...

    ajax框架:dwr》实战(包括整合).pdf

    ### DWR(Direct Web Remoting)实战知识点梳理 #### 一、DWR 框架简介 DWR(Direct Web Remoting)是一个用于简化 AJAX 应用开发的框架,它使得 JavaScript 能够直接调用 Java 服务端的方法,反之亦然。这种直接...

    dwr实例教程 很好的入门实例

    ### dwr实例教程知识点解析 #### 一、DWR简介及功能特点 DWR(Direct Web Remoting)是一种简化Ajax应用开发的技术框架。它能够使客户端的JavaScript代码直接调用服务器端的Java方法,实现数据的实时交互。与传统...

    dwr应用实例

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...

    dwr实例,dwr例子,能直接运行,很实用

    - 如何配置DWR:查看`dwr.xml`文件,理解如何设置允许的Java类和方法。 - 客户端JavaScript的使用:查看HTML和JavaScript代码,了解如何在前端调用服务器端的方法。 - 服务器端Java代码的结构:理解服务端如何实现...

    dwr实例,ajax的效果

    3. **源码实例**:可能包含一些实际的Java和JavaScript代码片段,演示DWR的使用,如创建Java类、暴露方法,以及在JavaScript中调用这些方法。 4. **调试和日志**:如何在开发过程中利用DWR的调试工具和日志功能来...

    dwr学习(一):简单dwr实例

    在本实例中,我们将探讨DWR的基本概念、如何设置以及创建一个简单的DWR应用。 1. **DWR的概念** DWR的核心思想是提供一种方式,使得JavaScript可以直接调用服务器端的Java方法,就像它们是本地函数一样。这种技术...

    dwr实例和设计模式代码

    下面我们将详细探讨DWR的工作原理、主要功能以及如何使用DWR进行实例开发。 **DWR的工作机制** DWR的核心思想是通过HTTP协议在客户端(浏览器)和服务器之间建立起一个双向通信通道。当用户在浏览器中执行...

    dwr 实例 Dwr实例

    自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助

Global site tag (gtag.js) - Google Analytics