`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
dwr demo dwr demo
1.导入dwr.jar包
2.配置dwr过滤器(web.xml)
3.配置dwr.xml
4.编写类文件
5.编写jsp文件

----------------------
1.导入dwr.jar包即可
2.在web.xml中加入dwr过滤器即加入如下代码
<servlet>
	<servlet-name>dwr-invoker</servlet-name>
	<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  </servlet>
  <servlet-mapping>
	<servlet-name>dwr-invoker</servlet-name>
 	<url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

3.配置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="new" javascript="ruleop">
			<param name="class" value="com.test.ProvinceOP" />
		</create>
	</allow>
</dwr>

4.编写类文件ProvinceOP.java
package com.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ProvinceOP {
	static Logger log = LoggerFactory.getLogger(ProvinceOP.class);
	public String sayHello(String name){
		System.out.println("Wellcom to "+name);
		return "Wellcom to "+name;
	}
	public List setProvince() throws Exception{
		List list = new ArrayList();
		InputStreamReader ips = new InputStreamReader(new FileInputStream("d:\\licensetool\\province.txt"),"utf-8");
		BufferedReader br = new BufferedReader(ips);
		String str = null;
		br.readLine();
		//下面循环从第二行开始按行读取文本
		while((str = br.readLine()) != null){ 
			list.add(str);
			log.info("hp: "+str);
			System.out.println(str);
		}
		return list;
	}
	public List setCity(String province){
		List list = new ArrayList();
		try{
			InputStreamReader ips = new InputStreamReader(new FileInputStream("d:\\licensetool\\city.txt"),"utf-8");
			BufferedReader br = new BufferedReader(ips);
			String str = null;
			br.readLine();
			while((str = br.readLine()) != null){
				String[] content = str.split("=");
				//System.out.println(content[0]+"==="+content[1]);
				if(!"".equals(str) && content[0].equals(province)){
					String c = content[1].substring(1, content[1].length()-1);
					String[] citys = c.split(",");
					for(String cs : citys){
						list.add(cs);
					}
					break;
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return list;
	}
//	public static void main(String[] args) throws Exception {
//		List<String> list = new ArrayList<String>();
//		String a = "";
//		list.add(a);
//		String b = "哈尔滨";
//		if(!list.contains(b)){
//			list.add(b);
//		}
//		String c = "佳木斯";
//		if(!list.contains(c)){
//			list.add(c);
//		}
//		String d = "绥化";
//		if(!list.contains(d)){
//			list.add(d);
//		}
//		System.out.println("list.size = "+list.size());
//		for(String s : list){
//			System.out.println(s);
//		}
//		
//	}
}

5.编写jsp文件show.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>dwr级联显示</title>
<!-- 使用的是相对路径,下面这个引用dwr/interface也是固定写法 -->
<script type='text/javascript' src='dwr/interface/ruleop.js'></script>
<!-- 下面这两个引用是固定写法,因为这两个文件是在dwr.jar中 -->
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
	function hptest(){
		//ruleop.getProvince($(myform).province.value,show);
		ruleop.sayHello("zhangsan",show);
	}
	ruleop.setProvince(showProvince);
	function show(data){
		alert(data);
	}
	function showProvince(data){
		DWRUtil.removeAllOptions("province");
		DWRUtil.addOptions("province",{"":"select province"});
		DWRUtil.addOptions("province",data);
	}
	function setCity(province){
		ruleop.setCity(province,showCitys);
	}
	function showCitys(data){
		DWRUtil.removeAllOptions("city");
		DWRUtil.addOptions("city",{"":"select city"});
		DWRUtil.addOptions("city",data);
	}
</script>
</head>
<body>
	<form id="myform">
		<b>Province :</b>
		<select id="province" name="province" onchange="setCity(this.value)"></select><br />
		<b>City :</b>
		<select id="city" name="city"><option>select city</option></select> 
		<input type="button" value="click me" onclick="hptest()" />
	</form>
	
</body>
</html>


7.province.txt
province(省份)
陕西
黑龙江
云南
广西
福建
湖南
安徽

8.city.txt
province=[city,city]
陕西=[西安,安康,商洛,铜川,渭南,咸阳,榆林,汉中,延安,宝鸡]
黑龙江=[大庆,哈尔滨,鸡西,牡丹江,双鸭山,绥化,齐齐哈尔,黑河]
云南=[昆明,邵通,文山]
广西=[北海,崇左,防城,贵港,桂林,柳州,南宁,钦州,玉林]
福建=[龙岩,南平,宁德市,莆田,三明,福州,漳州]
湖南=[衡阳,娄底,永州,邵阳]
安徽=[安庆,蚌埠,滁州,合肥,淮北,六安,宿州,芜湖,马鞍山,铜陵,黄山,宣城]
Global site tag (gtag.js) - Google Analytics