JSP (Java Server Page) - Pasar datos Servlet a Jsp

 
Vista:
sin imagen de perfil

Pasar datos Servlet a Jsp

Publicado por Wasp (6 intervenciones) el 18/01/2016 12:18:07
Buenas tardes a todos/as.

Estoy intentando enviar la información que obtengo de una base de datos a mi jsp.

Desde mi clase.jsp llamo por un formulario a mi Servlet, el cual. interactua con la base de datos para obtener la tabla con sus campos.

Mi problema es que no se muy bien como volver a mandar esa informacion a la pagina jsp para que se visualice.

Mi tabla es de 2 columnas y N filas depende de lo que haya en la base de datos.

Codigo jsp:

1
2
3
4
5
<form style="margin-left:30%;" action="ServletCombox" method="post" name="consultasSubNaturalezaTexto">
	<input type="text" value="" name="grupoSubNaturaleza" id="grupoSubNaturaleza" >
	<input type="text" value="" name="subNaturaleza" id="subNaturaleza" >
	<input type="submit"        name="buscar" value="Buscar" >
</form>


Codigo Servlet (dentro del doPost)

1
2
3
4
String grupoSubNaturaleza = request.getParameter("grupoSubNaturaleza");
String subNaturaleza = request.getParameter("subNaturaleza");
/** llamo a un metodo que sera el que me devuelva la tabla con el contenido */
ArrayList<String[]> tablaCodigo = JDBCSelec.getCodigosSubN(grupoSubNaturaleza);

y ahora recorro la tabla pero no se como enviar la tabla a mi Jsp de nuevo y pintarla por pantalla.

¿Alguien me podría ayudar o decirme donde podría mirar?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Coconut

Pasar datos Servlet a Jsp

Publicado por Coconut (1 intervención) el 24/01/2016 17:18:12
Buenas Wasp!

puedes crear una sesion en el servlet y pasarle el ArrayList, redirigir desde el servlet hacia el JSP donde recuperar los datos de la sesion.
Te pongo un ejemplo en el que recogemos un censo de partidos


En el serlvet:
1
2
3
4
5
6
7
private ArrayList<Partidos> censo;
private HttpSession Sesion;
 
censo = new Operaciones().censoPartidos(Conexion);
Sesion = request.getSession(false);
Sesion.setAttribute("resultados", censo);
 response.sendRedirect("resultados.jsp");

En el JSP resultados.jsp
1
2
3
4
5
6
7
HttpSession Sesion = request.getSession(false);
ArrayList<Partidos> partidos = (ArrayList)Sesion.getAttribute("resultados"); //debemos hacer un cast al recoger de sesión los objetos.
 
// aqui se crearía la tabla recorriendo según la longitud de tu Array
 
<%=(partidos.get(i).getNombre()) %>
// y así se mostrarían los datos, en este caso el nombre de un partido

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Pasar datos Servlet a Jsp

Publicado por Wasp (6 intervenciones) el 29/01/2016 10:59:16
Muchas gracias por responder Coconut.

He seguido tus pasos y va bien, pero tengo un gran problema.
Como tengo un ArrayList con mucha informacion, al final en mi jsp, de toda la lista solo llego a mostrar el ultimo elemento.
Aunque le ponga un contador y vaya sumando y demas, al final siempre me da el ultimo valor que muestro por la web.

¿Hay alguna manera de conseguir por separado cada elemento y yo poder hacer lo que quiera?

con arraylist.get(i) no llego a mostrar el que sea.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos Servlet a Jsp

Publicado por manuel (2 intervenciones) el 18/04/2016 05:33:20
Hola buenas, no te compliques, simplemente, crea un formulario nuevo jsp donde quieras mostrar los datos de tu consulta, y en el servlet donde tengas el metodo, puedes colocar una linea similar a esta

if(consultar!=null){
Vector v = Notas_por_codigo.buscarestudiantes(idEstudiantes);//Listarclientes.Listarclientes();
request.setAttribute("estudiantes",v);
request.setAttribute("idestudiante", idEstudiantes);
request.getRequestDispatcher("/JSP/Muestra.jsp").forward( request, response );
}


consultar es el nombre del boton que tengo para que cuando lo unda, el vector v me recorra el metodo buscarestudiantes por idestudiante de la clase Notas_por_codigo en donde tengo la consulta sql que es la siguiente:

public static synchronized Vector buscarestudiantes(String idestudiante) throws SQLException
{
Vector notas = null;
DBManager dbm = new DBManager();
Connection con = dbm.getConnection();
String id = idestudiante;

Statement st = con.createStatement();//crear un objeto sentencia, es el que puede ejecutar acciones en la base de datos
//PreparedStatement st = con.prepareStatement("select estudiantes.nombreestudiante, asignaturas.nombreasignatura, profesores.nombreprofesor, calificaciones.calificacion from estudiantes, asignaturas, profesores, calificaciones where(estudiantes.idestudiante=calificaciones.idestudiante)and(profesores.idprofesor=calificaciones.idprofesor)and (asignaturas.idasignatura=calificaciones.idasignatura)and(estudiantes.idestudiante=?");
//st.setString(1, idestudiante);
ResultSet rs=st.executeQuery("select b.Nombre, a.NombreAsignatura, d.NombreProfesor, c.Calificacion from estudiantes b,asignatura a, notas c, profesores d where (b.idEstudiantes=c.idEstudiantes) and (d.idProfesores=c.idProfesores)and(a.idAsignatura=c.idAsignatura)and(b.idEstudiantes="+ id +")");
notas = new Vector();
while (rs.next()) {
notas.add ( new Notas_por_codigo(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4)));
}
rs.close();
st.close();
dbm.closeConnection(con);
return notas;
}
Como puedes ver, el botón consultar me muestra un formulario con mi consulta sql desde el Servlet, espero te haya servido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar