Also, das ist es: Auf meiner JSP-Seite möchte ich ein Dropdown aus einer Datenbank mit einer gespeicherten Prozedur füllen, die als Parameter die id
des Landes in zwei Radios (dh , wenn Sie USA auswählen, werden die Staaten dieses Landes gefüllt, und wenn Sie Nicaragua wählen, umgekehrt). Wie meine Frage sagt, ist es ohne Verwendung von Servlets, das Problem ist, dass ich die value
des Radios nicht ausgewählt bekommen kann (wenn ich eine Zahl statt der Variable "Land" übergebe, wird die Combo gefüllt). Ich musste ein Servlet mit JSON-Daten und Ajax-Funktionen verwenden und schließlich, wenn jemand anderes Gesicht dieses Problem ist das folgende eine einfache Lösung:Dropdown-JSP-Datenbank gespeicherte Prozedur ohne Servlet
Dies ist mein Code:
<label for="state">State</label>
<select name="ddStates" id="ddStates">
<option value="-1">Select State...</option>
<%
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/nextnetcustomers", "root", "root");
int country = Integer.parseInt(request.getParameter("cntry"));
StringBuilder sb = new StringBuilder();
ResultSet rs = null;
PreparedStatement ps = null;
sb.append("{call SP_CATSTATES_LIST(?)}");
ps = conn.prepareCall(sb.toString());
ps.setInt(1, country);
rs = ps.executeQuery();
while (rs.next()) {
%>
<option value="<%=rs.getInt("IDCATSTATES")%>"><%=rs.getString("DESCRIPTION")%></option>
<%
}
} catch (Exception ex) {
ex.printStackTrace();
out.println("Error " + ex.getMessage());
}
%>
</select>
Dies sind die Radios: USA < Eingabetyp = "radio" name = "cntry" value = "2" /> NICARAGUA – Chris