DWR 2 与 Spring 2融合后与前面DWR学习笔记之中主要不同的是dwr.xml及Spring xml配置管理文件(applicationContext.xml)的配置
具体dwr.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="spring" javascript="coProCityService">
<param name="beanName" value="CoProCityService"></param>
</create>
<!--
<convert converter="bean" match="com.trade3c.model.register.CoProCityModel"/>
-->
</allow>
</dwr>
creator属性的值可以是new,struts,spring......因为此处是整合spring来做的,所以设置成“spring”, javascript="coProCityService" 表示实例转换成javascript语言后以coProCityService命名,前台页面可以通过代码(<script type='text/javascript' xsrc='../../dwr/interface/coProCityService.js'></script>)来调用。param元素的name 属性值可以是class,beanName等,此处用beanName,value得值是定义在applicationContext.xml中某个 bean的id值。
4、创建一个实体bean供DWR转换成js 代码
package com.project.dwr;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
.
.
.
public class CoProCityService extends CountryProvinceCityServiceImp implements CountryProvinceCityService
{
private Log log = LogFactory.getLog(CoProCityService.class);
public Map<String, String> getCountrys()
{
Map<String, String> countryMap = new HashMap<String, String>();
List<CountryMas> countryList = queryCountryByWh(" order by model.pkNo");
if(countryList != null && countryList.size() > 0)
{
for(CountryMas country:countryList)
{
countryMap.put(country.getPkNo().toString(), country.getCountryName());
}
}
return countryMap;
}
public Map<String, String> getProvinces(String countryPkNo)
{
Map<String, String> provinceMap = new HashMap<String, String>();
List<ProvinceMas> provinceList = queryProvinceByWh(" where model.countryPkNo="+Long.parseLong(countryPkNo)+" order by model.pkNo");
if(provinceList != null && provinceList.size() > 0)
{
for(ProvinceMas province:provinceList)
{
provinceMap.put(province.getPkNo().toString(), province.getProvinceName());
}
}
return provinceMap;
}
public Map<String, String> getCities(String provincePkNo)
{
Map<String, String> cityMap = new HashMap<String, String>();
List<CityMas> cityList = queryCityByWh(" where model.provincePkNo="+Long.parseLong(provincePkNo)+" order by model.pkNo");
if(cityList != null && cityList.size() > 0)
{
for(CityMas city:cityList)
{
cityMap.put(city.getPkNo().toString(), city.getCityName());
}
}
return cityMap;
}
}
5、在applicationContext.xml中配置第4步写的bean 代码
- ......
- <bean id="CoProCityService" class="com.project.dwr.CoProCityService">
- <property name="ius">
- <ref bean="XXXService" />
- </property>
- </bean>
- ......
6、在视图页面中调用,主要作用代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script type='text/javascript' src='/trade3c/dwr/interface/coProCityService.js'></script>
<script type='text/javascript' src='/trade3c/dwr/engine.js'></script>
<script type='text/javascript' src='/trade3c/dwr/util.js'></script>
<script type="text/javascript">
<!--
function change1()
{
coProCityService.getCountrys(countryList);
coProCityService.getProvinces(DWRUtil.getValue("countryPkNo"),provinceList);
coProCityService.getCities(DWRUtil.getValue("provincePkNo"),cityList);
}
function countryList(data)
{
DWRUtil.removeAllOptions("countryPkNo");
DWRUtil.addOptions("countryPkNo", data);
}
function change2()
{
// alert("yeye"+DWRUtil.getValue("countryPkNo"));
coProCityService.getProvinces(DWRUtil.getValue("countryPkNo"),provinceList);
coProCityService.getCities(DWRUtil.getValue("provincePkNo"),cityList);
}
function provinceList(data)
{
DWRUtil.removeAllOptions("provincePkNo");
DWRUtil.addOptions("provincePkNo", data);
}
function change3()
{
coProCityService.getCities(DWRUtil.getValue("provincePkNo"),cityList);
}
function cityList(data)
{
DWRUtil.removeAllOptions("cityPkNo");
DWRUtil.addOptions("cityPkNo", data);
}
//-->
</script>
<body onload="change1();">
<select id="countryPkNo" name="countryPkNo" onchange="change2();"></select>
<select id="provincePkNo" name="provincePkNo" onchange="change3();"></select>
<select id="cityPkNo" name="cityPkNo">
</body>
分享到:
相关推荐
**DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web...通过深入学习和实践"DWR学习笔记和与spring整合练习",开发者可以掌握DWR的精髓,熟练运用其与Spring的整合,打造出高效、安全、易维护的Web应用程序。
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0学习笔记.txt DWR3.0学习网址.txt dwr分页.doc DWR分页代码.doc DWR中文文档.doc DWR中文文档.pdf dwr做comet的完整实现.doc Spring整合DWR comet ...
**DWR(Direct Web Remoting)**是一种Java...总之,DWR学习笔记将引导你探索如何利用DWR、ExtJS和Spring构建高效、交互性强的Web应用。通过深入学习和实践,你将能够熟练运用这些工具和技术,提升你的Web开发能力。
**DWR(Direct Web Remoting)学习笔记** DWR是一种Java技术,用于在浏览器和服务器之间实现双向通信,使得Web应用程序能够实时更新和交互。它允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,...
阅读"DWR学习笔记.doc"文件将有助于系统地掌握这些知识点,通过实践操作加深理解,从而更好地利用DWR构建交互性强、用户体验良好的Web应用。在学习过程中,结合源码分析可以更深入地理解DWR的工作机制,提升自己的...
在李君老师的JavaEE学习笔记中,他重点讲解了如何在Spring框架中集成DWR,以实现更高效、更简洁的前后端交互。 #### 二、在Spring中集成DWR的第一种方式 李君老师首先介绍了通过在Struts2的插件中集成DWR的方法。...
2. **DWR配置**:学习在web.xml和dwr.xml中设置DWR的相关配置,使DWR能够正常工作。 3. **客户端API**:掌握JavaScript中的DWR API,如何创建和调用远程对象,以及处理异步回调。 4. **服务器端API**:了解如何在...
**DWR框架详解** DWR (Direct Web Remoting) 是一个强大的AJAX框架,它...尝试创建一个简单的DWR应用,实现用户登录功能,使用DWR检查用户名是否已存在,同时学习如何在DWR中集成其他Java框架,如Hibernate或MyBatis。
标题 "dwr笔记整理(三)" 暗示了这篇笔记主要关注Direct Web Remoting (DWR) 技术的第三部分。DWR是一种Java技术,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,实现AJAX功能。这篇笔记...
这个“DWR技术文章精选”压缩包文件包含了关于DWR的相关资料,可能是博客文章、笔记或者教程,帮助我们深入理解DWR的核心特性和使用方法。 1. **DWR 概述**: DWR 是一种AJAX框架,它通过JavaScript与Java进行通信...
本**“dwr学习实录”**包含了一个完整的DWR学习过程,旨在帮助初学者和进阶者更好地理解和掌握这项技术。通过这份学习资料,你可以了解到: 1. **DWR的安装与配置**:了解如何在你的项目中引入DWR库,设置DWR的配置...
DWR使用笔记.doc可能是作者在实际使用DWR过程中积累的经验总结,包括如何配置DWR、创建远程Java接口、在客户端调用这些接口的示例代码,以及可能遇到的问题和解决方案。 学习和理解Ajax及DWR框架,可以帮助开发者...
2. **学习笔记**:这些笔记通常由有经验的开发者编写,总结了他们对DWR的理解和使用技巧,是快速学习DWR的好材料。笔记可能涵盖了DWR的基本概念,如RemoteObject、Ajax调用、Batching等,以及更高级的主题,如安全性...
综上所述,"4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)"是一个包含关于DWR框架的详细资料集合,包括笔记、PPT、文档和示例,适合初学者和有经验的开发者深入学习和理解DWR的使用和原理。这些资源可以...
6. **学习路径**:从第一次课到第五次课,可能遵循了一个逐步深入的学习路径,从基础的IoC概念到复杂的DWR整合,帮助学习者系统地掌握Spring框架。 通过这五次课程的学习,不仅可以了解Spring的基本原理,还能掌握...
7. **学习资源**:压缩包中的文件包括《Spring技术内幕》、《java_spring_day01》、《Spring2.0核心技术与最佳实践》、《使用注解整合Spring和DWR的笔记》、《spring3.0资料》、《Spring从入门到精通》以及《Spring ...
标题中的“SSH框架+Ajax(运用dwr框架)综合小实例”指的是在Web开发中,使用Struts2、Spring和Hibernate三大主流Java EE框架(SSH)结合Ajax技术,并通过Direct Web Remoting (DWR) 框架进行前端与后端交互的一个实战...