开发环境: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>
职工和部门是多对一关系,例子简单,不详细叙述了
分享到:
相关推荐
在实际开发中,DWR的用法实例可能包括但不限于以下几种情况: - **用户界面实时更新**:例如,在聊天应用中,当有新消息时,服务器可以通过DWR主动向客户端发送更新,实时显示新消息。 - **数据表格动态加载**:在...
通过实践一个简单的DWR实例,你可以更好地理解如何在实际项目中使用它来构建高效、响应式的Web应用。随着对DWR的深入理解和应用,你会发现它不仅可以提升开发效率,还能显著提升应用的用户体验。
这个压缩包文件"dwrtest"很可能包含了9个经典的DWR实例,这些实例通常会展示DWR的主要功能和用法。以下是关于DWR的一些关键知识点的详细介绍: 1. **远程方法调用(RMI-like)**: DWR的核心特性是能够像本地方法一样...
**DWR(Direct Web Remoting)**是一种JavaScript库和Java框架,它允许Web应用程序实现双向通信,即在客户端浏览器和服务器之间进行实时的数据交换。DWR使得开发者可以像操作本地对象一样操作服务器端的Java对象,极...
4. **HTML和Ajax交互**:实例可能会包含一些HTML页面,展示了如何使用DWR的JavaScript API创建AJAX请求,更新页面内容,以及处理用户交互。 5. **安全性和性能优化**:DWR支持缓存和批处理,以提高性能。此外,为了...
在你提供的实例中,“dwr实例,从后台取数据显示”表明这是一个使用DWR从服务器获取数据并在前端展示的简单应用。 1. **DWR的工作原理**:DWR通过在服务器上设置一个代理,允许JavaScript调用Java方法,就像它们是...
在"TestDwr"这个压缩包中,我们可以预期包含了一个简单的DWR实例,展示了如何利用DWR将Java方法暴露给JavaScript来调用。以下是一些关于DWR的关键知识点: 1. **DWR配置**:DWR的使用首先需要在服务器端进行配置,...
### DWR(Direct Web Remoting)实战知识点梳理 #### 一、DWR 框架简介 DWR(Direct Web Remoting)是一个用于简化 AJAX 应用开发的框架,它使得 JavaScript 能够直接调用 Java 服务端的方法,反之亦然。这种直接...
### dwr实例教程知识点解析 #### 一、DWR简介及功能特点 DWR(Direct Web Remoting)是一种简化Ajax应用开发的技术框架。它能够使客户端的JavaScript代码直接调用服务器端的Java方法,实现数据的实时交互。与传统...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...
- 如何配置DWR:查看`dwr.xml`文件,理解如何设置允许的Java类和方法。 - 客户端JavaScript的使用:查看HTML和JavaScript代码,了解如何在前端调用服务器端的方法。 - 服务器端Java代码的结构:理解服务端如何实现...
3. **源码实例**:可能包含一些实际的Java和JavaScript代码片段,演示DWR的使用,如创建Java类、暴露方法,以及在JavaScript中调用这些方法。 4. **调试和日志**:如何在开发过程中利用DWR的调试工具和日志功能来...
在本实例中,我们将探讨DWR的基本概念、如何设置以及创建一个简单的DWR应用。 1. **DWR的概念** DWR的核心思想是提供一种方式,使得JavaScript可以直接调用服务器端的Java方法,就像它们是本地函数一样。这种技术...
下面我们将详细探讨DWR的工作原理、主要功能以及如何使用DWR进行实例开发。 **DWR的工作机制** DWR的核心思想是通过HTTP协议在客户端(浏览器)和服务器之间建立起一个双向通信通道。当用户在浏览器中执行...
自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助