Código:
Esta clase obtiene el resultado directamente de una consulta "SELECT * FROM TABLA" guardado en una tabla dentro de una base de datos. Ahi mismo crean los <options> y <value> de un elemento select en html para despues llenarlo desde una jsp como esta.public class SqlSelect { public static String SelectSimple(String SqlSelect) throws SQLException{ //Obtiene el SQL directamente de una base de datos String sConsulta = null; Connection con = null; Statement stmt = null; try { con = conecctions.ConnBi.getConnection(); stmt = con.createStatement(); String ConsultaSql = SqlSelect; ResultSet ConsultaWhere = stmt.executeQuery(ConsultaSql); while (ConsultaWhere.next()) { sConsulta = sConsulta + "<option value=\""+ConsultaWhere.getString(1)+"\">"+ConsultaWhere.getString(2)+"</option>"; } ConsultaWhere.close(); stmt.close(); } catch (Exception e) { System.out.println("Exception thrown"); e.printStackTrace(); } finally { if (con != null) { con.close(); } } return sConsulta; } }
cat_paises.jsp
Código:
El select lo llenan con la ayuda del framework Prototype<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="combos.SqlSelect"%> //Aqui importan la clase anterior <%String sistema_id = request.getParameter("SIS01"); //agregan el id del sistema String combo_paises = combos.SqlSelect.SelectSimple(sqlString); %> //Llaman metodo select Simple de la clase anterior junto con el parametro sqlString <select id="pais_id" name="pais_id,'<%=sistema_id%>');}"> //Aqui llenan el select <option value="0" >Seleccione un Pais</option> <%=combo_paises%> </select>
Código:
No estoy de acuerdo con su implementacion porque en la clase "SqlSelect" me regresaria por ejemplo <option value="Mexico">Mexico</option> y el problema es que ahora en ves de combos tambien coy a necesitar los paises en una tabla html, entonces tendria que hacer una clase exclusiva para cada elemento html.function combo_paises(sistema_id) {var target = $('com_paises'); var StrUrl = "cat_paises.jsp?sistema_id="+sistema_id; var est = new Ajax.Updater(target, StrUrl, {method: 'get'}); //Funcion framework prototype }; function combo_estados(pais_id,sistema_is) {var target = $('com_estados'); var StrUrl = "cat_estados.jsp?pais_id="+pais_id+"&sistema_id="+sistema_id; var est = new Ajax.Updater(target, StrUrl, {method: 'get'}); //Funcion framework Prototype };
asi como esta el codigo es POO?
Gracias.