Java JSP:下拉列表2取决于下拉列表1
我在处理两个链接下拉列表时遇到困难,下拉列表1将从数据库中获取值,并且根据用户的选择,它将在下拉列表2中获取相关记录 我尝试在jsp中使用该代码来实现这一点,但它不起作用,许多人建议使用javascript。事实上,我不知道更多的abot JS,所以你能帮我吗Java JSP:下拉列表2取决于下拉列表1,java,javascript,jsp,Java,Javascript,Jsp,我在处理两个链接下拉列表时遇到困难,下拉列表1将从数据库中获取值,并且根据用户的选择,它将在下拉列表2中获取相关记录 我尝试在jsp中使用该代码来实现这一点,但它不起作用,许多人建议使用javascript。事实上,我不知道更多的abot JS,所以你能帮我吗 <select size="1" name="shop_category"><option value="NONE"> <% try {
<select size="1" name="shop_category"><option value="NONE">
<%
try
{
ResultSet rs=null;
Statement st1=null;
String query = "select Category_name, category_id from shop_category_lkup";
st1 = conn1.createStatement();
rs = st1.executeQuery(query);
while(rs.next())
{
String sz_Selected="";
if (rs.getString("category_id").equals(shop_category))
{
sz_Selected = "selected";
}
%>
<option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>
<%=rs.getString("category_name")%></option>
<%
}
}
catch (Exception e) {
e.printStackTrace();
}
%>
</select>
<select size="1" name="rent_category"><option value="NONE">
<%
try
{
ResultSet rs=null;
Statement st1=null;
String query = "select r.Category_name, r.category_id from rent_category_lkup r, shop_categpry_lkup s where r.category_id=s.category_id";
st1 = conn1.createStatement();
rs = st1.executeQuery(query);
while(rs.next())
{
String sz_Selected="";
if (rs.getString("category_id").equals(rent_category))
{
sz_Selected = "selected";
}
%>
<option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>
<%=rs.getString("category_name")%></option>
<%
}
}
catch (Exception e) {
e.printStackTrace();
}
%>
</select>
假设scriptlet中的Java代码在客户端执行,这是一个根本性的错误 请看下面的图片。在这之后,您将能够更好地理解代码无法工作的原因。
此后,您应该尝试使用AJAX进行一些研究
如果所有这些都没有帮助的话,请再次发布,这样会更容易引导您通过。我没有心情发布一个扩展的答案,因为@anirvan已经用两个我无法超越的词完美地总结了它:您正在犯一个根本性错误 要点:Java/JSP在Web服务器上运行,生成大量HTML/CSS/JS,并通过网络将其从Web服务器发送到webbrowser。webbrowser(如MSIE、Firefox等)单独检索和理解HTML/CSS/JS,并开始显示/应用/运行它。如果Java/JSP已经正确地完成了它的任务,那么在webbrowser中执行rightclick>View Source时不应该看到它的任何一行。让webbrowser(JavaScript)中的代码和webserver(Java/JSP)中的代码相互通信的唯一方法是让JavaScript发送HTTP请求,并让Java/JSP响应 以JavaScript发送HTTP请求可以通过以下几种方式完成:
document.getElementById('formId').Submit()
window.location=http://www.google.com';代码>
newXMLHttpRequest()
等等嗯,这个答案毕竟比我想的要长一点。。。不管怎样,希望它能有所帮助 阿尤普。当我第一次学习JSP时,客户端和服务器端代码之间的区别也让我感到困惑;一旦你想清楚了,你就会省去很多麻烦,在死胡同里寻找糟糕的解决方案。如果您执意避免使用Javascript,那么当用户从列表1中选择一个选项并根据该选项重新创建页面时,您需要让表单提交;这当然是可行的,但会给您带来很多实现难题。为了根据用户的选择调整显示,Javascript是合适的工具。学习它。谢谢你,我会尽力的