我正在JSP中开发一个示例Web应用程序。在这个应用程序中,我想在触发一些动作后调用servlet方法, 例如,在选择要从数据库中检索学生姓名列表的部门之后,下拉列表中会显示部门列表。我是jsp的新手,任何人帮我实现这一目标,提前致谢。
<form method="post" action="index.jsp" name="form1" onsubmit="return checkme()">
<table cellpadding="2">
<tr>
<td>
<p style="color: blue;font-family: sans-serif;">Select Project:</p>
</td>
<td>
<select id="project" onchange="">
<option value="0">Select..</option>
<c:forEach items="<%=department%>" var="entry">
<option value="${entry.key}">${entry.value}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<p style="color: blue;font-family: sans-serif;">Select Employee:</p>
</td>
<td>
<select id="employee">
<option value="0">Select..</option>
<c:forEach items="<%=emplist%>" var="entry1">
<option value="${entry1.key}">${entry1.value}</option>
</c:forEach>
</select>
</td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:0)
使用jquery进行ajax调用将是更清晰有效的方法。像这样:
$.ajax({
type : "GET",
url : "yourservletURLWithParams"
success : function(data) {
//update list
}
});
答案 1 :(得分:0)
作为@JunedAhsan答案的补充,你可以在没有jquery的情况下完成同样的事情:
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//success handler
}
}
xmlhttp.open("GET","yourservletURLWithParams",true);
xmlhttp.send();
}
答案 2 :(得分:0)
在这里,您将找到类似的问题,并回答详细说明和示例代码。 Populating cascading dropdown lists in JSP/Servlet
希望这有帮助!