Me podrían dar su opinión de un proyecto desarrollado de esta manera. Soy novata en esto de java y POO pero se me hace un poco extraño como tienen implementado esto. Pero probablemente por mi falta de experiencia la que no entienda sea yo, espero y me puedan ayudar.
Código:
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;
}
}
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.
cat_paises.jsp
Código:
<%@ 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>
El select lo llenan con la ayuda del framework Prototype
Código:
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
};
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.
asi como esta el codigo es POO?
Gracias.