日期:2014-05-18  浏览次数:20686 次

jsp向servlet传值的问题
我建了一个JSP文件,里面有一个列表和一组选择项,代码如下:
------MENU.JSP------

    -----下面是课程列表-----
<select   size= "1 "   name= "courselist ">
      <option   value= "语文 "> 语文 </option>
      <option   value= "数学 "> 数学 </option>
      <option   value= "英语 "> 英语 </option>
      <option   value= "计算机 "> 计算机 </option>
</select>
<p>

      ----下面是题型-----
<a   href= "TestServlet "> 单选题 </a>         ----TestServlet是Servlet
<p>
a   href= "TestServlet "> 多选题 </a>
<p>
a   href= "TestServlet "> 判断题 </a>
<p>
<a   href= "TestServlet "> 填空题 </a>

我的问题是:
1.只要课程列表中有一项被选中,立该将值(包括题型)传递到TestServlet中
2.只要题型被选中,立刻将值(包括课程)传递到TestServlet中
这样的代码写的对不对?


------解决方案--------------------
如果不提交表单,而且不打开新页面,则必须使用AJAX技术,给你我的AJAX函数页。
// ----------------------------------------------
//函数名称:createxmlhttprequest
//函数作用:创建xmlhttprequest对象
//参数说明:无
//程序作者:Edward 天马恒星
//联系方式:EdwardWorld@126.com
//WebSite: http://hi.baidu.com/EdwardWorld
// ----------------------------------------------
var xmlhttpreq = false;
//创建xmlhttprequest对象
function createxmlhttprequest() {
if (window.xmlhttprequest) { //mozilla 浏览器
xmlhttpreq = new xmlhttprequest();
}
else if (window.ActiveXObject) { //IE 浏览器
try {
xmlhttpreq = new ActiveXObject( "msxml2.xmlhttp ");
}
catch (e) {
try {
xmlhttpreq = new ActiveXObject( "microsoft.xmlhttp ");
}
catch (e) {}
}
}
}


// ----------------------------------------------
//函数名称:getdetail
//函数作用:发送请求
//参数说明:url:需要被发送的网址字符串
//程序作者:Edward 天马恒星
//联系方式:EdwardWorld@126.com
//WebSite: http://hi.baidu.com/EdwardWorld
// ----------------------------------------------
var url;
function getdetail(url) {
createxmlhttprequest();
xmlhttpreq.open( "GET ",url,true);
xmlhttpreq.onreadystatechange = processresponse; //指定响应函数
xmlhttpreq.send(null); //发送请求
}


// ----------------------------------------------
//函数名称:processresponse
//函数作用:处理返回信息
//参数说明:无
//程序作者:Edward 天马恒星
//联系方式:EdwardWorld@126.com
//WebSite: http://hi.baidu.com/EdwardWorld
// ----------------------------------------------
function processresponse() {
if (xmlhttpreq.readystate == 4) { //判断对象状态
if (xmlhttpreq.status == 200) { //信息已经成功返回,开始处理信息!
var res = xmlhttpreq.responseText;
// window.alert(res);
document.all.ShowInfo.innerHTML=unescape(res);
setTimeout( "CleanInfo() ",2000)
}
else {
window.alert( "返回信息异常! ");
}
}
}

// ----------------------------------------------
//函数名称:CleanInfo
//函数作用:清除处理返回信息
//参数说明:无
//程序作者:Edward 天马恒星
//联系方式:EdwardWorld@126.com
//WebSite: http://hi.baidu.com/EdwardWorld
// ----------------------------------------------
function CleanInfo() {
document.all.ShowInfo.innerHTML= " ";
window.location.reload();
}