根据选中的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框架在项目中的使用, 一个sprig3+dwr3+jpa+struts2,基于注解的完整demo 一个sprig2+dwr2+hibernate3+struts1,基于配置文件的完整demo http://blog.csdn.net/zuxianghuang/article/details/7376247
dwr小项目及资料 实现前台javascript直接调用后台业务方法和后台方法进行ajax 反转调用前台javascript的方法
NULL 博文链接:https://chaozhichen.iteye.com/blog/718812
dwr的简单使用,是一个Eclipse的项目,直接导进去就可以看到使用的方式了 对于初学者这个应该是不错的demo哦~
DWR技术 1. dwr.jar (现将dwr的jar包,到到项目的lib 目录下) 2. dwr.xml (在WEB-INF 目录下创建 dwr.xml 文件) 3. web.xml的配置 4. 页面的引入
若有数据,将字符创推送给指定jsp页面(dwr两种推送方式,一种session记录jsp页面id,后台使用定时器不断推送,即不断执行java业务代码,第二种jsp通过js定时器监听java业务代码,有数据推送,这里用的是第二种)
该例子很好的介绍了dwr的使用,是一个完整的例子,在ssh技术框架下使用!
好东西,绝对有用。有数据据表。我的东西全是一分,大家互相帮助了。
用dwr和spring 3,struts2和mybatis框架整合的增删改查的示例
资源名称:适合初学者的DWR基本使用视频教程资源目录:【】dwr01_dwr的安装【】dwr02_dwr的转换器和异常处理【】dwr03...dwr06_dwr在项目中的运用资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
ajax开源项目DWR
dwr使用教程参考如下文章: http://blog.csdn.net/weixin_38894231/article/details/78394805
其二就是解决了集成后的SpringBoot项目在开发环境和外置Tomcat环境下运行正常,但是以内置Tomcat独立JAR形式运行时,DWR框架无法初始化,项目无法正常运行的问题,这块主要修改了DWR源码资源加载相关代码。示例中...
dwr.jar,在项目中直接导入即可。自己正在用的包。
SSH CRM项目DWR入门源码(4)通过DWR实现动态树源码(5) var sjzdflArr; DWREngine.setAsync(false); SjzdflDAO.findAll(load); DWREngine.setAsync(true); function load...
struts1+hibernate+dwr 项目 房屋信息发布struts1+hibernate+dwr 项目 房屋信息发布struts1+hibernate+dwr 项目 房屋信息发布
关键字: dwr DWR是一种AJAX(Asynchronous JavaScript and XML)的JAVA实现,它提供了一种能在web浏览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。...本次项目中采用的也是目前的最新发布版本1.0。
DWR现在已经在java平台的AJAX应用中使用比较广泛,下面将以前项目中用到的部分内容(测试部分)贴出来,以供参考
本书通过对一些有趣实用的Web开发项目进行由浅入深的分析,引导开发人员了解基于DWR的Ajax在实际应用中的各种方法和技术,并帮助开发人员从传统的开发方式逐步平稳地转换到Ajax开发方式中。 本书适合具有一定Web开发...
一个Ajax框架dwr的使用例子,其中连接数据库使用的是tomcat连接池,连接oracle数据库