Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/03/2010, 14:10
angerrising
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: (2) Listados desplegadles (o combos) dependientes (SOLUCION) JSP+AJAX

weon te pasaste, acá lo dejo con Hibernate saludos

Cita:
<%@ page contentType="text/html; charset=iso-8859-1" language="java" errorPage="" %>
<%@ page import="conexion.*"%>
<%@ page import="org.hibernate.*"%>
<%@ page import="org.hibernate.Session"%>
<%@ page import="java.util.List"%>

<script type="text/javascript">
var peticion = false;
var testPasado = false;
try
{
peticion = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
peticion = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
peticion = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
peticion = false;
}
}
}

if (!peticion)
alert("ERROR AL INICIALIZAR!");

function cargarCombo (url, comboAnterior, element_id)
{
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'?id_calificador='+ x ;
element.innerHTML = '<img src="imagenes/cargando.gif" />'; //opcional
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function()
{
if (peticion.readyState == 4)
{
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}
peticion.send(null);
}
</script>


<select name="calificador" onchange="javascript:cargarCombo('poblaciones.jsp' , 'calificador', 'div_subcalificador')" id="calificador" style="width:180px">
<%//generaremos el select con los paises
Session sesion = HibernateUtil.abrirSesion();

try{
List<ListaPaises> lista=(List<ListaPaises>)sesion.createQuery("from ListaPaises as us").list();
for (ListaPaises est : lista) {
out.println("<option value='" + est.getId()+"'>"+est.getOpcion()+"</option>");
}
sesion.beginTransaction().commit();
sesion.close();
}catch (HibernateException e){
e.printStackTrace();
}

%>
</select>

<div id="div_subcalificador"></div>
Cita:
<%@page contentType = "text/html; charset=iso-8859-1" language="java" errorPage="" %>
<%@page pageEncoding = "UTF-8"%>
<%@page import = "conexion.*"%>
<%@page import = "org.hibernate.*"%>
<%@page import = "org.hibernate.Session"%>
<%@page import = "java.util.List"%>
<%@page import = "java.sql.Connection"%>
<%@page import = "java.sql.DriverManager"%>
<%@page import = "java.sql.ResultSet"%>
<%@page import = "java.sql.Statement"%>

<html>
<body>

<%
int id_calificador = Integer.parseInt(request.getParameter("id_califica dor").toString());
%>

<select name="subcalificador" id="subcalificador" class="select" style="width:180px">

<%

Session sesion = HibernateUtil.abrirSesion();

try{
List<ListaEstados> lista=(List<ListaEstados>)sesion.createQuery("from ListaEstados as us").list();
for (ListaEstados est : lista) {
if(est.getRelacion()==id_calificador){
out.println("<option>"+est.getOpcion()+"</option>");
}
}
sesion.beginTransaction().commit();
sesion.close();
}catch (HibernateException e){
e.printStackTrace();
}
%>
</select>

</body>
</html>
Cita:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package conexion;

import org.hibernate.*;
import org.hibernate.cfg.*;
/**
*
* @author luis.gutierrez
*/
public class HibernateUtil {

private static final SessionFactory sessionFactory;

static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure().buildSessionFactory();

} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

/**
* @return SessionFactory
* @param Metodo que devuelve el miembro sessionFactory
*/
public static SessionFactory getSessionFactory() {
return sessionFactory;
}

/**
* @return Session
* @param Metodo que devuelve una session del miembro sessionFactory
*/
public static Session getSession(){
return sessionFactory.getCurrentSession();
}

public static Session abrirSesion(){
return sessionFactory.openSession();
}

/**
* @return void
* @param Metodo usado para cerrar la sesion
*/
public static void cerrarSesion(){
try{
sessionFactory.close();
}catch (HibernateException ex){
throw new RuntimeException(ex);
}
}

}