javascript|js|xml|对象
xmlhttp对象可以用来在不刷新页面的情况下传递参数,可作为一种javascript向jsp传递参数的一种方法。
下面就是一个javascript向jsp传递参数的例子:
xmlhttp.jsp
<% page contentType="text/html; charset=GB2312" language="java" import="java.util.*" import="java.sql.*" %>
<html> 
<head><title>n</title> 
<script language="javascript"> 
function func() 
{ 
xml = new ActiveXObject("Microsoft.XMLHTTP");  
var post="<input type='text' name='name' value='1value'/>";//构造要携带的数据  
xml.open("POST","xmlhttp.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信  
xml.setrequestheader("content-length",post.length);  
xml.setrequestheader("content-type","application/x-www-form-urlencoded");  
xml.send(post);//发送数据  
//返回结果
var v = xml.responseText;
//处理这个结果
document.write( '结果:' + v );
}  
</script> 
</head>
<body > 
<%
     out.println("abcd");
     java.io.BufferedReader br =  request.getReader();
 String str = "";
 String srt=br.readLine();
 while(srt!=null)
 {
  str += srt+"\n";
  srt=br.readLine();
 }
 out.println(str);
  %>
</body> 
</html>
通过上面这种手段就可以把参数"<input type='text' name='name' value='1value'/>"这个字符串传递给本页面,在页面上显示一个文本框,当然你还可以传递一个xml文件,这样你就需要在服务器端的代码中解析这个xml文件,从中取得你所需要的参数
你可以给任何页面传递参数,只需要改变xml.open("POST","xmlhttp.jsp",false);中的xmlhttp.jsp为你目标页面得url就可以了
需要注意的是在低版的tomcat中会报出Read time out的错误,这是tomcat的原因,换一个高版本的就可以解决问题
 
  
 
 
  
