如下:
request.jsp
复制代码 代码如下:
%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
!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>Insert title here/title>
script language="javascript">!--
function GetXmlHttpObject(){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function showMsg(str){
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "response.jsp";
url = url + "?q="+ str;
url = url + "sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("city").value = xmlHttp.responseText;
}
}
// -->/script>
/head>
body>
form name="form1" action="" method="post">
label >City Code:/label>
input type="text" name="code" onblur = "showMsg(this.value)" />
br>/br>
label>City Name:/label>
input type="text" name="city" id="city" >/input>
/form>
/body>
/html>
response.jsp
复制代码 代码如下:
%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8"%>
%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %>
%
String code = request.getParameter("q");
System.out.println(code);
if(code.equals("140"))
out.print("上海");
else if(code.equals("150"))
out.print("北京");
else if(code.equals("160"))
out.print("天津");
else
out.print("未知地");
%>
这里要注意的是由于返回的结果要在文本框中显示,因此在response.jsp中没有html>等标签,因为测试发现如果有这些标签的话,在cityname文本框中这些标签也会显示。