Una directiva se usa como información para el motor de JSP, de tal forma queéste genera la página en función de los valore...
Atributos más importantes de la directiva page:
En este ejemplo vamos a utilizar la directiva [page] para importar al ficheroJSP una clase contenida en un paquete determi...
ClasePresentar.javapackage packJSP;public class ClasePresentar {        public String mensaje(){                return "¡¡...
En el fichero errorVelocidad.jsp incluímos la directiva…<%@ page isErrorPage="true" %>…de esta forma utiliza el objeto exc...
Un ejemplo de resultado de ejecución sin error sería…http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=2Un ejempl...
En Internet Explorer para que se visualice la página de error con laexcepción tenemos que ir a Herramientas -> Opciones de...
Upcoming SlideShare
Loading in...5
×

Jsp directiva page

1,978

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,978
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Jsp directiva page

  1. 1. Una directiva se usa como información para el motor de JSP, de tal forma queéste genera la página en función de los valores de la directiva. En JSP sedefinen tres tipos de directivas: directivas de página, directivas deinclusión de ficheros y directiva de librería de etiquetas.Directiva de página (page)Se usa para definir atributos que se aplican a una página JSP entera así comoa cualquier fichero estático que se incluya con las directivas “include” o<jsp:include>.Podemos usar esta directiva varias veces a lo largo de la pagina JSP, perosólo podemos asignar el valor de un atributo una vez por cada una, exceptopara el atributo import.<%@ page atributo=”valor” %>Aquí podemos ver la sintaxis de la directiva page. Los valores por defecto semuestran en negrita. Los corchetes ([...]) indican un término opcional. Labarra vertical (|) proporciona una elección entre dos valores como true yfalse.<%@ page [ language="java"] [ extends="package.class"] [ import= "{ package.class|package.*}, ..." ] [ session="true|false"] [ buffer="none|8kb|sizekb"] [ autoFlush="true|false"] [ isThreadSafe="true|false"] [ info="text"] [ errorPage="URLrelativa"] [ contentType="mimeType[ ;charset=characterSet]" | "text/html; charset=ISO-8859-1"] [ isErrorPage="true|false"]%>
  2. 2. Atributos más importantes de la directiva page:
  3. 3. En este ejemplo vamos a utilizar la directiva [page] para importar al ficheroJSP una clase contenida en un paquete determinado mediante el atributo importde page.<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="packJSP.ClasePresentar" %>Para ello en Eclipse creamos el paquete packJSP y dentro de él la claseClasePresentar. Con lo cual la estructura de fichero jsp, paquete y clasequedaría…Y el código del fichero .jsp y la clase a importar serían…dPage.jsp<?xml version="1.0" encoding="ISO-8859-1" ?><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="packJSP.ClasePresentar" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><title>Directiva page en JSP</title></head><body> <% ClasePresentar objPresentar = new ClasePresentar(); out.print(objPresentar.mensaje()); %></body></html>
  4. 4. ClasePresentar.javapackage packJSP;public class ClasePresentar { public String mensaje(){ return "¡¡¡Hola!!! Soy la clase [ClasePresentar] y me han importado mediante ladirectiva page."; }}Resultado…Ahora vamos ampliar el ejemplo anterior para mostrar el funcionamiento de losatributos errorPage e isErrorPage de la directiva page.En el fichero dPage.jsp añadimos un bloque de código que nos calcula lavelocidad a partir de los parámetros espacio y tiempo pasados en la URL de lallamada al fichero dPage.jsp…http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=2Mediante <%@ page errorPage="ErrorVelocidad.jsp" %> indicamos el fichero que mostrarála página de error encargado de mostrar la excepción. Por ejemplo unaexcepción se provocará si pasamos, en este caso, el parámetro tiempo como detipo texto imposible de convertir a un tipo double.http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=ddd
  5. 5. En el fichero errorVelocidad.jsp incluímos la directiva…<%@ page isErrorPage="true" %>…de esta forma utiliza el objeto exception el cual contiene una referencia ala excepción lanzada.dPage.jsp<?xml version="1.0" encoding="ISO-8859-1" ?><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="packJSP.ClasePresentar" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ page errorPage="ErrorVelocidad.jsp" %><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Directiva page en JSP</title></head><body> <% ClasePresentar objPresentar = new ClasePresentar(); out.print(objPresentar.mensaje()); %> <%! // Se lanzará un excepcion NumberFormatException si el valor es nulo o está malformateado // Ejecutamos con la URL:http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=2 double espacio,tiempo,velocidad; private double toDouble(String value) { return (Double.valueOf(value).doubleValue()); } %> <% espacio = toDouble(request.getParameter("espacio")); tiempo = toDouble(request.getParameter("tiempo")); velocidad = espacio / tiempo; %> <br/>Espacio: <%= espacio%> <br/>Tiempo: <%= tiempo%> <br/>Velocidad: <%= velocidad%></body></html>ErrorVelocidad.jsp<?xml version="1.0" encoding="ISO-8859-1" ?><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Insert title here</title></head><body> <%@ page isErrorPage="true" %> Hay un error en la pagina dPage.jsp: <%= exception.toString() %></body></html>
  6. 6. Un ejemplo de resultado de ejecución sin error sería…http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=2Un ejemplo de resultado de ejecución con error sería…http://localhost:8080/prj_dPage/dPage.jsp?espacio=4&tiempo=ddd
  7. 7. En Internet Explorer para que se visualice la página de error con laexcepción tenemos que ir a Herramientas -> Opciones de Internet -> OpcionesAvanzadas y desmarcar la casilla con el texto “Mostrar mensajes de error HTTPdescriptivos”.This is an IE feature. When an HTTP error page retrieved from the server is smallerthan 512 bytes, then IE will by default show a "Friendly" error page like the one yourefacing, which is configureable by Tools > Internet Options > Advanced > Uncheck"Show Friendly Error Message" in the browser. Other (real) browsers does not havethis feature.

×