`
uule
  • 浏览: 6359204 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

项目中dwr的使用

    博客分类:
  • DWR
阅读更多

根据选中的country获取其city:

 

web.xml:

    <servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<init-param>
			<param-name>classes</param-name>
			<param-value>
				com.techson.himsnanhwa.admin.dwr.AgentEvent,
				com.techson.himsnanhwa.admin.dwr.CitiesEvent
			</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param>
			<param-name>activeReverseAjaxEnabled</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param>
			<param-name>initApplicationScopeCreatorsAtStartup</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>maxWaitAfterWrite</param-name>
			<param-value>500</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
  	</servlet>
  	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
  	</servlet-mapping>

  <script type='text/javascript'   src='<%=basePath%>dwr/interface/AreaEvent.js'></script>
        <script type='text/javascript' src='<%=basePath%>dwr/engine.js'></script>
        <script type='text/javascript' src='<%=basePath%>dwr/util.js'></script>

 

function doCountryChange(){
			var countrycode = $("areaBean.countrycode").value;
			initTonull(document.getElementById("areaBean.citycode"));
			if(countrycode == "") return;

			initTonull(document.getElementById("citycode"));
			//每次改变之前必须先清空

			AreaEvent.getcityBycountrycode(countrycode,{
				callback:backGetCity,
				timeout:180000,
				errorHandler:function(message) { alert("Oops: " + message);}
			});
		}

 

function backGetCity(citiesList){			
			if(citiesList == null || citiesList.length == 0) return;
			var obj = document.getElementById("areaBean.citycode");

			for(var index = 0;index < citiesList.length; index ++){
				var item = citiesList[index];
				var txt = item.citynameEn;
				if(item.citynameTw != ''){
					txt = txt + " - " + item.citynameTw;
				}
				var vv = item.citycode;
				var oOption	= new Option(txt, vv);
				var ii = index + 1;
				obj.options[ii] = oOption;
			}
		}

 AreaEvent.java类:

@RemoteProxy
public class AreaEvent {
	private static Log log = LogFactory.getLog(AreaEvent.class);	
	
	@RemoteMethod
	public List<Map<String,Object>> getcityBycountrycode(String countrycode,HttpSession session) throws Exception{
		List<Cities> list = (List<Cities>)session.getServletContext().getAttribute(MyConstants.CITIES_KEY);
		countrycode = countrycode.trim().toUpperCase();
		List<Map<String,Object>> cityList = new ArrayList<Map<String,Object>>();
		List<Cities> clist = new ArrayList<Cities>();
		if(list != null){
			for (Cities cities : list) {
				String cocode = cities.getCountrycode().trim().toUpperCase();
				if(!cocode.equalsIgnoreCase(countrycode)) continue;
				clist.add(cities);
			}
			Collections.sort(clist, new CitiesComparator.CityNameComparator());
			for (Cities cities : clist) {
				Map<String,Object> cityMap = new HashMap<String,Object>();
				cityMap.put("citycode", cities.getCitycode());
				cityMap.put("citynameEn", cities.getCitynameEn());
				cityMap.put("citynameTw", cities.getCitynameTw());
				cityList.add(cityMap);
			}
		}
		return cityList;
	}
}

 

function initTonull(obj){		
		if ( !obj || obj.options.length <= 0 )
			return;
		for ( var i = obj.options.length; i > 0; i-- ){					  	
		  		obj.options[i] = null;
		}
	}

 ..

 

2 、

CityEvent.getAirlineByCode(citycode,
			{
				callback:afterEvent,
				timeout:60000,
				errorHandler:function(message) { alert("Oops: " + message);}
			});

 

function afterEvent(obj){
		hideProcessing();
		if(obj != null){
			showDiv();
			$("id").value = obj.cityCode;
			$("citiesBean.cityCode").value = obj.cityCode;
			$("countryCode").value = obj.countryCode;
			$("citiesBean.cityName").value = obj.cityName;
			$("citiesBean.cityNameTc").value = obj.cityNameTc;
			$("citiesBean.cityNameTw").value = obj.cityNameTw;
			$("citiesBean.cityCode").disabled=true;
			var check1 = obj.isPackage;
			if(check1 == true){
				$("check1").checked = true;
			}else{
				$("check1").checked = false;
			}
					}else{
			alert("@TW出錯了.請再來一次@@CN出错了.请再来一次@@ENError.Please try again@.");
		}		
	}

 

public class CityEvent {
	private static Log log = LogFactory.getLog(CityEvent.class);

	@RemoteMethod
	public Map<String,Object> getAirlineByCode(String code,HttpSession session) throws Exception{
		WebApplicationContext webApplicationContext = (WebApplicationContext) session.getServletContext().getAttribute("WEBAPPLICATIONCONTEXT");
		CitiesFacade citiesFacade = (CitiesFacade)webApplicationContext.getBean("citiesFacade");
		Cities cities = citiesFacade.findByCode(code);
		Map<String,Object> citiesMap = new HashMap<String,Object>();
		if(cities != null){
			citiesMap.put("cityCode", cities.getCityCode() == null ?"":cities.getCityCode());
			citiesMap.put("countryCode", cities.getCountries()==null ? "" :cities.getCountries().getCountryCode());
			citiesMap.put("cityName", cities.getCityName() == null?"":cities.getCityName());
			citiesMap.put("cityNameTc", cities.getCityNameTc() == null?"":cities.getCityNameTc());
			citiesMap.put("cityNameTw", cities.getCityNameTw() == null?"":cities.getCityNameTw());
			citiesMap.put("stateId", cities.getStateId() == null?"":cities.getStateId());
			citiesMap.put("isPackage", cities.getIsPackage());
			citiesMap.put("isHotel", cities.getIsHotel());
			citiesMap.put("isAir", cities.getIsAir());
			citiesMap.put("isTour", cities.getIsTour());
			return citiesMap;
		}else{
			return null;
		}
	}
}

 ...

 

 

 

 

 

 

  • 大小: 5.7 KB
分享到:
评论

相关推荐

    dwr小项目及资料

    通过学习这些资料,开发者不仅可以掌握DWR的基本使用,还能了解到如何在实际项目中集成和优化DWR,提升Web应用的交互性和实时性。在实践中,需要注意DWR的安全设置,例如防止跨站脚本攻击(XSS)和跨站请求伪造...

    java的DWR项目的实现

    本项目是基于Servlet和DWR的实现,旨在提供一个简单但功能齐全的范例,展示如何在实际应用中使用DWR。 首先,理解DWR的基本概念至关重要。DWR是一种开源框架,它在浏览器和服务器之间创建了一种透明的远程方法调用...

    DWR中文文档DWR

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器...通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升Web应用的性能和用户体验。

    dwr demo dwr简单使用

    通过这个简单的DWR演示项目,你可以深入理解DWR的工作原理,掌握如何配置DWR、编写可被客户端调用的Java方法,以及如何在JavaScript中使用这些方法。这对于想要学习和使用DWR来构建动态Web应用的初学者来说是一个很...

    DWR的使用方法

    在本文中,我们将深入探讨DWR的使用方法,以及如何将其纳入到您的项目中。 首先,我们需要理解DWR的核心组件: 1. **Engine**:这是DWR的核心,负责处理所有与远程调用相关的事务,包括JavaScript到Java的转换、...

    dwr使用例子配置和使用

    1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端调用的Java方法。例如,创建一个名为`Citys`的类,包含获取省份和城市的列表的方法。...

    dwr配置文件和注解两种方式的两个demo,ssh项目使用dwr

    dwr框架在项目中的使用, 一个sprig3+dwr3+jpa+struts2,基于注解的完整demo 一个sprig2+dwr2+hibernate3+struts1,基于配置文件的完整demo http://blog.csdn.net/zuxianghuang/article/details/7376247

    DWR技术文档、快速使用DWR、java技术

    **DWR(Direct Web Remoting)技术文档** DWR,全称Direct Web Remoting,是一种在Web应用程序中实现...通过理解其核心功能、配置步骤以及使用流程,开发者可以快速地在项目中引入DWR,构建高效、动态的Web应用。

    dwr+ssh项目

    1. **引入dwr.jar** - 将DWR的jar包添加到项目的lib目录下,这是使用DWR的基础,因为该jar包包含了DWR的所有核心类和函数。 2. **创建dwr.xml** - 在WEB-INF目录下创建dwr.xml配置文件。这个文件用于配置DWR的行为...

    适合初学者的DWR基本使用视频教程

    资源名称:适合初学者的DWR基本使用视频教程资源目录:【】dwr01_dwr的安装【】dwr02_dwr的转换器和异常处理【】dwr03...dwr06_dwr在项目中的运用资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    简单使用dwr完整例子

    在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...

    DWR中文文档.pdfDWR中文文档.pdf

    10. **集成其他框架**:DWR可以很好地与Spring、Struts等Java Web框架集成,使得在这些框架中使用DWR变得简单。 在阅读这份中文文档时,你可以深入理解DWR的工作原理,学习如何配置和使用DWR,以及如何在实际项目中...

    dwr跨域访问以及dwr的使用+dwr.jar

    4. **生成JavaScript API**:DWR会根据配置自动生成JavaScript API,这些API可以直接在浏览器中使用,调用服务器端的方法。 5. **前端调用**:在HTML或JavaScript代码中,引入DWR生成的JavaScript文件,然后就可以...

    DWR的学习资料,DWR学习必备

    DWR使用笔记.chm:这可能是一份详细的DWR使用手册,包含了如何集成DWR到项目中、配置DWR引擎、创建远程接口以及处理各种交互的实例。通过阅读这份笔记,你可以了解到DWR的基本概念、配置步骤以及实际应用技巧。 dwr...

    j2ee使用dwr进行后台交互

    7. **压缩包子文件的文件名称列表:“java使用ajax”**:这可能意味着压缩包中包含了一些关于Java和AJAX交互的示例代码或教程,这些文件可能详细展示了如何在Java应用程序中使用AJAX,或者可能是DWR框架的具体实现...

    dwr ssm框架整合

    6. **DWR与SSM的结合**:在Action或Service中,可以使用DWR暴露的方法,使得前端可以通过JavaScript直接调用后端的方法,实现实时的数据更新。 7. **前端页面**:使用JavaScript和DWR API,前端可以动态地向服务器...

    dwr 包的 使用入门

    - 在Java项目中引入DWR库,通常通过Maven或Gradle添加依赖。 - 配置DWR的`dwr.xml`文件,定义允许的远程方法和类,这是DWR的核心配置文件,用于控制哪些Java对象和方法可以被JavaScript访问。 2. **创建Java...

    DWR2.0中文文档

    #### DWR中的JavaScript - **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于服务和方法的信息,可以用来动态生成客户端调用代码。 DWR...

    DWR中文文档 (DWR 2.0)

    4. **添加DWR依赖**:将下载的DWR库文件添加到项目的类路径中。 5. **编写Java服务端代码**: - 创建一个简单的Java类,例如`HelloWorldService`,定义一个公开的方法,如`sayHello()`。 - 使用DWR注解标记该方法...

    DWR3.0.2-RELEASE修改版源码(解决资源加载问题导致的和SpringBoot整合后SpringBoot项目无法以独立JAR运行)

    在原版DWR中,这些资源可能通过类路径或者特定的URL路径来获取,但在Spring Boot的独立JAR模式下,类路径的解析方式与传统的Java应用不同,这可能导致DWR无法正确找到并加载资源。 为了解决这个问题,修改版的DWR ...

Global site tag (gtag.js) - Google Analytics