请咨询一个小servlet实用程序ajax。
在我的身体上使用javascript进行功能加载。可以按照我的要求进行的通信,也可以在包含ajax的应用程序中进行通信。 los datos de la consulta guarda los un arraylist y este enviarlo al.jsp para llenar un combobox con for。
mi archivo jsp:
<body onload="enviarDatosCombo();">
<div class="col-sm-4">
<%
ArrayList<String> LComboGNombre = (ArrayList<String>) request.getAttribute("NombreGr");
ArrayList<String> LComboId = (ArrayList<String>) request.getAttribute("IdGrupor");
%>
<select name="gruposcombo" id="combogrupo">
<%
for(int i = 0; i<LComboGNombre.size(); i++){ %>
<option value="<%=LComboId%>"><%=LComboGNombre%></option>
<%
}
%>
</select>
</div>
<Script>
function enviarDatosCombo(){
valor = document.FormInventario.combox.value;
ajax = objetoAjax();
ajax.open("POST", "ServletInventario.java", true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4){
valor.value = (ajax.responseText)
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("&valor="+valor)
}
</Script>
</body>
mi servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void processRequest (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=UTF-8");
String valorCombo = request.getParameter("valor");
int valorc = Integer.parseInt(valorCombo);
if(valorc == 7) {
rs = (ResultSet)Dinventario.ListarComboG();
ArrayList<String> LComboGNombre = new ArrayList<>();
ArrayList<String> LComboId = new ArrayList<>();
try {
while (rs.next()) {
LComboGNombre.add(rs.getString("NombreG"));
LComboId.add(rs.getString("IdGrupo"));
}
request.setAttribute("NombreGr", LComboGNombre);
request.setAttribute("IdGrupor", LComboId);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "erro"+e);
}
}
}