javascript向jsp传递参数的一种手段-----使用xmlhttp对象

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

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 onLoad="func()">

<%

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的原因,换一个高版本的就可以解决问题

如果还有什么看不明白的或者本人理解错误的可通过msn探讨:

MSN: akmygf@126.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航