Uso de clases y objetos

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Instanciar

Instanciar una clase desde un JSP utilizando scriplet.

<h1>Con scriplets JSP</h1>
<%= new com.pablomonteserin.model.StringExtendido() %>
<%@page import="com.pablomonteserin.model.StringExtendido"%>
<%= new StringExtendido() %>

Ejercicio: Instanciar

Imprimir utilizando scriptlet (<%= %>) una instancia de la clase Date.

Tener en cuenta que la clase Date pertenece al paquete java.util

Ejemplo – Recuperar un Bean Libro que tiene un metodo getTitulo();

servlet.java 
Libro libro = new Libro("978-84-415-2988-5", "Java 7", 15.8); 
request.setAttribute("libro", libro); 
request.getRequestDispatcher("index.jsp").forward(request, response);
index.jsp (scriplet) 
<% Libro libro = (Libro)request.getAttribute("libro"); %>
<%=libro.getTitulo()%>
index.jsp (EL)
${requestScope.libro.titulo}
index.jsp (JSTL)
<c:out value="${requestScope.libro.titulo}" />

Obsérvese que utilizando Scriplet es necesario hacer un casteo para recuperar la información y usando EL y JSTL, no.

Ejercicio Instanciar II

La aplicación consta de un servlet, un bean Persona(dni, nombre y edad) y un fichero jsp.

El flujo de la aplicación comienza en el jsp. Introduciremos los datos pertinentes en un formulario con tres campos (dni, nombre y edad) y al pulsar el botón de envío, los enviaremos al controlador (el Servlet). En el controlador instanciaremos e inicializaremos un bean Persona que enviaremos de vuelta al JSP.

Luego, utilizando el método

request.getRequestDispatcher("rutaHastaElJSP").forward(request, response);

iremos al jsp.

Aquí mostraremos las propiedades del bean utilizando scriptlet, EL y JSTL. Los datos se mostrarán en una frase que aparecerá tres veces:

El señor [nombre] tiene [edad] años y dni [dni].

Para evitar una NnullPointerException al arrancar la aplicación debido a que el objeto persona es nulo y no podemos llamar a los métodos getDni, getNombre y getEdad sobre un objeto nulo evaluaremos que el objeto no sea nulo antes de llamar a estos métodos.

<% if(p!=null) out.write(p.getNombre()); %>

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.