【发布时间】:2014-03-30 12:06:38
【问题描述】:
我在 Jsp 中有三个下拉菜单。 Branch、Semester 和 Subject 以及值来自 MySQL。分支和学期不相互依赖。但是主题值应该取决于分支和学期。 我已经完成了以下代码。 问题出现了,虽然选择了分支和学期下拉值,但主题下拉列表的值没有得到意味着显示空白下拉字段。
FirstTwoDropdown.jsp
<%@page import="java.sql.*"%>
<%@page import="com.connection.*"%>
<%Connection con;
ResultSet rs;
Statement st;
con = connectiondb.condb();
%>
<html>
<head>
<script language="javascript" type="text/javascript">
var xmlHttp
function showsubject(str){
if (typeof XMLHttpRequest != "undefined"){
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlHttp==null){
alert("Browser does not support XMLHTTP Request")
return;
}
var url="subject.jsp";
url +="?count=" +str;
xmlHttp.onreadystatechange = stateChange1;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChange1(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("subject").innerHTML=xmlHttp.responseText
}
}
</script>
</head>
<body>
<select name='branch_name' onchange="showsemester(this.value)">
<option value="none">Select</option>
<%
st = con.createStatement();
rs = st.executeQuery("select distinct branch_name from subject_tbl");
while(rs.next()){
%>
<option value="<%=rs.getString("branch_name")%>"><%=rs.getString("branch_name")%></option>
<%
}
%>
</select>
<br>
<select name='semester' >
<option value="none">Select</option>
<%
st = con.createStatement();
rs = st.executeQuery("select distinct semester from subject_tbl");
while(rs.next()){
%>
<option value="<%=rs.getString("semester")%> on"><%=rs.getString("semester")%></option>
<%
}
%>
</select>
<select name='subject_name' >
<option value=''></option>
</select>
</body>
</html>
主题.jsp
<%@page import="java.sql.*"%>
<%@page import="com.connection.*"%>
<%
String semester=request.getParameter("semester");
String branch_name=request.getParameter("branch_name");
String buffer="<select name='subject_name'><option value=''>Select</option>";
Connection con;
ResultSet rs;
Statement st;
con = connectiondb.condb();
try{
st = con.createStatement();
rs = st.executeQuery("Select subject_name from subject_tbl where semester='"+semester+"' and branch_name='"+branch_name+"' ");
while(rs.next()){
buffer=buffer+"<option value='"+rs.getString("subject_name")+"'>"+rs.getString("subject_name")+"</option>";
}
buffer=buffer+"</select>";
response.getWriter().println(buffer);
}
catch(Exception e){
System.out.println(e);
}
%>
【问题讨论】:
-
为什么不使用 servlet 进行数据库事务和业务逻辑?一切都在 jsp 中混在一起了。