`
alert_mm
  • 浏览: 168774 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

继DWR学习笔记之练习(dwr 2 + spring 2)

阅读更多

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 代码

  
  1. ......     
  2. <bean id="CoProCityService" class="com.project.dwr.CoProCityService">    
  3.   <property name="ius">    
  4.    <ref bean="XXXService" />    
  5.   </property>    
  6. </bean>    
  7. ......  

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>

 

分享到:
评论
2 楼 liuxi1024 2008-11-06  
恩,不错。学习学习。。。
1 楼 leaobreak 2008-09-24  
 
学习,学习!

相关推荐

    DWR学习笔记和与spring整合练习

    **DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web...通过深入学习和实践"DWR学习笔记和与spring整合练习",开发者可以掌握DWR的精髓,熟练运用其与Spring的整合,打造出高效、安全、易维护的Web应用程序。

    DWR学习资料

    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学习笔记

    **DWR(Direct Web Remoting)**是一种Java...总之,DWR学习笔记将引导你探索如何利用DWR、ExtJS和Spring构建高效、交互性强的Web应用。通过深入学习和实践,你将能够熟练运用这些工具和技术,提升你的Web开发能力。

    DWR学习笔记(下载)

    **DWR(Direct Web Remoting)学习笔记** DWR是一种Java技术,用于在浏览器和服务器之间实现双向通信,使得Web应用程序能够实时更新和交互。它允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,...

    DWR 2.0M3 学习笔记

    阅读"DWR学习笔记.doc"文件将有助于系统地掌握这些知识点,通过实践操作加深理解,从而更好地利用DWR构建交互性强、用户体验良好的Web应用。在学习过程中,结合源码分析可以更深入地理解DWR的工作机制,提升自己的...

    李君老师JavaEE笔记-Spring中集成Dwr

    在李君老师的JavaEE学习笔记中,他重点讲解了如何在Spring框架中集成DWR,以实现更高效、更简洁的前后端交互。 #### 二、在Spring中集成DWR的第一种方式 李君老师首先介绍了通过在Struts2的插件中集成DWR的方法。...

    dwr案例+文档+jar

    2. **DWR配置**:学习在web.xml和dwr.xml中设置DWR的相关配置,使DWR能够正常工作。 3. **客户端API**:掌握JavaScript中的DWR API,如何创建和调用远程对象,以及处理异步回调。 4. **服务器端API**:了解如何在...

    AJAX高级的应用--DWR框架使用的学习笔记

    **DWR框架详解** DWR (Direct Web Remoting) 是一个强大的AJAX框架,它...尝试创建一个简单的DWR应用,实现用户登录功能,使用DWR检查用户名是否已存在,同时学习如何在DWR中集成其他Java框架,如Hibernate或MyBatis。

    dwr笔记整理(三)

    标题 "dwr笔记整理(三)" 暗示了这篇笔记主要关注Direct Web Remoting (DWR) 技术的第三部分。DWR是一种Java技术,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,实现AJAX功能。这篇笔记...

    DWR 技术文章精选

    这个“DWR技术文章精选”压缩包文件包含了关于DWR的相关资料,可能是博客文章、笔记或者教程,帮助我们深入理解DWR的核心特性和使用方法。 1. **DWR 概述**: DWR 是一种AJAX框架,它通过JavaScript与Java进行通信...

    dwr学习实录

    本**“dwr学习实录”**包含了一个完整的DWR学习过程,旨在帮助初学者和进阶者更好地理解和掌握这项技术。通过这份学习资料,你可以了解到: 1. **DWR的安装与配置**:了解如何在你的项目中引入DWR库,设置DWR的配置...

    Ajax资料,DWR框架资料

    DWR使用笔记.doc可能是作者在实际使用DWR过程中积累的经验总结,包括如何配置DWR、创建远程Java接口、在客户端调用这些接口的示例代码,以及可能遇到的问题和解决方案。 学习和理解Ajax及DWR框架,可以帮助开发者...

    DWR综合资料与JAR包

    2. **学习笔记**:这些笔记通常由有经验的开发者编写,总结了他们对DWR的理解和使用技巧,是快速学习DWR的好材料。笔记可能涵盖了DWR的基本概念,如RemoteObject、Ajax调用、Batching等,以及更高级的主题,如安全性...

    4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)

    综上所述,"4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)"是一个包含关于DWR框架的详细资料集合,包括笔记、PPT、文档和示例,适合初学者和有经验的开发者深入学习和理解DWR的使用和原理。这些资源可以...

    Spring五次课的截图详细笔记

    6. **学习路径**:从第一次课到第五次课,可能遵循了一个逐步深入的学习路径,从基础的IoC概念到复杂的DWR整合,帮助学习者系统地掌握Spring框架。 通过这五次课程的学习,不仅可以了解Spring的基本原理,还能掌握...

    spring完整资料2

    7. **学习资源**:压缩包中的文件包括《Spring技术内幕》、《java_spring_day01》、《Spring2.0核心技术与最佳实践》、《使用注解整合Spring和DWR的笔记》、《spring3.0资料》、《Spring从入门到精通》以及《Spring ...

    SSH框架+Ajax(运用dwr框架)综合小实例

    标题中的“SSH框架+Ajax(运用dwr框架)综合小实例”指的是在Web开发中,使用Struts2、Spring和Hibernate三大主流Java EE框架(SSH)结合Ajax技术,并通过Direct Web Remoting (DWR) 框架进行前端与后端交互的一个实战...

Global site tag (gtag.js) - Google Analytics