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()); %>