JSP Java Server Pages Página HTML con código java embebido <!DOCTYPE html> <html> <head><titleJSP</title></head> <body> <h1> <% if (request.getParameter("name") == null){ %> Hola Mundo <%}else{ %> Hola, <%=request.getParameter("name")%> <%}%> </h1> </body></html> Dr. Raúl Pérez 2 1 Elementos de JSP Las etiquetas JSP embebidas en páginas HTML se usan para crear servlets en el servidor. Existen 2 tipos principales de elementos JSP: – – 3 JSP Scripting Scripting Directives. 4 Expresiones, se evalúan y se insertan directamente en la página. Scriptlets, son bloques de código java. Declaraciones, se pueden declarar variables y métodos para utilizar en la página. Expresiones Ejemplos de expresiones JSP Usan el formato <%= expresión java %> . Las expresiones se evalúan, se convierten en Strings y se insertan en la página HTML. Se utilizan con segmentos muy cortos de código java. Pueden usar 4 variables predefinidas: – – – – <%= request.getRemoteAddress() %> Imprime la dirección IP del cliente <%= new java.util.Date() %> Imprime la hora y la fecha request (HttpRequest), response(HttpResponse), session (HttpSession), out (Printwriter) 5 Hola, <%=request.getParameter("name")%> Imprime el valor del parámetro “name” 6 Scriptlets JSP 7 Ejemplo de Scriptlets JSP La etiqueta HTML para enmarcar un Scriptlet es <% código %>. Los Scriptlets se traducen en código insertado directamente en el servlet. Generalmente son bloques extensos. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 8 <HTML> <HEAD> <TITLE>Color Testing</TITLE> </HEAD> <% String bgColor = request.getParameter("bgColor"); if ((bgColor == null) || (bgColor.trim().equals(""))) { bgColor = "WHITE"; } %> <BODY BGCOLOR="<%= bgColor %>"> <H2 ALIGN="CENTER">Testing a Background of "<%= bgColor %>"</H2> </BODY></HTML> Ejemplo Ejemplo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-Example of using scriptlets to make parts of the page conditional. 9 Taken from Core Servlets and JavaServer Pages 2nd Edition from Prentice Hall and Sun Microsystems Press, http://www.coreservlets.com/. (C) 2003 Marty Hall; may be freely used or adapted. --> <HTML> <HEAD> <TITLE>Wish for the Day</TITLE> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY> <% if (Math.random() < 0.5) { %> <H1>Have a <I>nice</I> day!</H1> <% } else { %> <H1>Have a <I>lousy</I> day!</H1> <% } %> </BODY></HTML> 10 Declaraciones JSP Ejemplo de declaración JSP Permiten definir métodos ó variables <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> No generan ninguna salida. <TITLE>JSP Declarations</TITLE> </HEAD> <BODY> Usan el formato <%! código %> <H1>JSP Declarations</H1> <%! int accessCount = 0; %> <H2>Accesses to page since server reboot: <%= ++accessCount %></H2> 11 12 </BODY></HTML> Directivas JSP Directivas JSP Una directiva JSP es información de alto nivel que afecta la estructura general del servlet. La etiqueta HTML correspondiente es <%@ type = attribute value %>. page – include – <%@ page import =“java.util.*” %> 13 14 Insertar un archivo en una página JSP taglib – Ejemplo Controla la estructura del servlet Define etiquetas (tags)