Foros del Web » Programación para mayores de 30 ;) » Java »

Sacar un listado desde servlet

Estas en el tema de Sacar un listado desde servlet en el foro de Java en Foros del Web. Hola a todos!! estoy iniciandome con java y utilizando servlets para mi aplicacion. en mi proyecto tengo los DAO los Ejb EjbInterfaces Entidades Interfaces Servlets ...
  #1 (permalink)  
Antiguo 01/04/2015, 14:16
 
Fecha de Ingreso: abril-2009
Mensajes: 36
Antigüedad: 15 años
Puntos: 0
Sacar un listado desde servlet

Hola a todos!!

estoy iniciandome con java y utilizando servlets para mi aplicacion.

en mi proyecto tengo los DAO
los Ejb
EjbInterfaces
Entidades
Interfaces
Servlets
este utlimo....
tengo el servlet para listar personas de la entidad Persona....

Código:
/**
 * Servlet implementation class ServletPersonaListar
 */
@WebServlet("/ServletPersonaListar")
public class ServletPersonaListar extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private IEjbPersona iEjbPersona;
	
	
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletPersonaListar() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			iEjbPersona = new EjbPersona();
			iEjbPersona.getListaPersona();
			
			request.setAttribute("listarPersona.jsp", iEjbPersona);
			request.getRequestDispatcher("vistas/listar.jsp").forward(request, response);
		} catch (Exception e) {
			System.out.println("Error en el servlet"+e);
		}
		
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
No se si he codificado bien el metodo doGet del servlet por eso estoy utilizando este servicio si alguien me guia para mostrar un listado por medio de un servlet.

mi pagina web que llama el servlet
Código HTML:
<body>
	<header>
		<nav class="menu">
			<ul>
				<li><a href="#">Inicio</a></li>
				<li><a href="#">Registrar datos en el sistema</a></li>
				<li><a href="#">Ver los datos registrados</a></li>
			</ul>
		</nav>
	</header>
	<section>
		<form id="frmlistarCarton" action="/PrintUtilities/ServletCartonListar" method="post">
			<h2>Listar Carton</h2>
			<table border="1">
			<tr>
				<td>${Carton.codigocarton}</td>
				<td>${Carton.numerocarton}</td>
				<td>${Carton.serie}</td>
				<td>${Carton.tiposorteo}</td>
				<td>${Carton.estado}
			</tr>
			</table>
		</form>

	</section>
</body> 
  #2 (permalink)  
Antiguo 01/04/2015, 14:57
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Sacar un listado desde servlet

Hola....

Si lo que buscas es mostrar una lista del Objeto en un .jsp, te proporciono un ejemplo el cual estoy seguro te sera muy útil.

Primeramente, verifica que tengas la Interface (DAO) y su Implementación (Clase que implementa la Interface) correspondiente al Objeto que esperas mostrar.

DAO
Código Java:
Ver original
  1. public interface EjemploDao {
  2.     public List<Persona> getListaPersona();
  3. }

Implement
Código Java:
Ver original
  1. public class EjemploDaoImpl implements EjemploDao {
  2.     public List<Persona> getListaPersona() {
  3.         // Realizar consulta a la base de datos y retornar una lista del tipo correspondiente al metodo; es decir, Persona
  4.         return listPersona;
  5.     }
  6. }

En donde retornamos una lista del tipo Persona, que es supongo el nombre de tu Objeto. Una vez teniendo lo anterior, entonces es cuestión de regresar el resultado del método en el servlet para posteriormente pasarlo a sesión y así poder mostrar el resultado

Código Java:
Ver original
  1. List<Persona> list= EjemploDao .getListaPersona();
  2. request.setAttribute("list", list);
  3. request.getRequestDispatcher("vistas/listar.jsp").forward(request, response);

Como podemos a observar, estamos cargando a sesión una lista del objeto persona la cual ya se encuentra previamente llenada gracias a nuestro DAO. Posteriormente en el jsp tenemos que acceder al nombre que le colocamos a dicha lista que en este caso viene siendo "list", sin embargo, no solamente es cuestión de obtener esa lista desde nuestro jsp, también es importante que tengamos que iterar dicha lista para poder mostrar los resultados, para ello, podemos implementar una etiqueta que equivale a un ciclo for o while, forEach, la cual nos permite iterar una colección de objetos.

Código jsp:
Ver original
  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  2. <html>
  3.     <head>
  4.         <title>Personas</title>
  5.     </head>
  6.     <body>
  7.     <table>
  8.         <tr>
  9.             <th></th>
  10.             <th></th>
  11.         </tr>
  12.         <c:forEach var="list" var="person">
  13.            <tr>
  14.                 <td>${person.valor1} </td>
  15.                 <td>${person.valor2}</td>
  16.             </tr>
  17.         </c:forEach>
  18.     </table>
  19.     </body>
  20. </html>

Es importante remarcar que para poder implementar jstl en tu pagina y así poder implementar etiquetas "lógicas" dentro tu pagina web, necesitar descargar el .jar correspondiente y agregarlo a tu proyecto.

1.- JSTL: http://www.oracle.com/technetwork/java/index-jsp-135995.html

2.- JSTL (jar): http://www.java2s.com/Code/Jar/j/Downloadjstl12jar.htm

De esa manera tu proyecto quedaría completo, sin embargo, cualquier duda y/o inconveniente, aquí estamos, aunque no estaría nada mal que vieras un ejemplo de ello Internet y comparar y analizar código. Suerte!

Etiquetas: jsp, listado, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.