Abr 16 2009
JSP Documents o documentos JSP, son páginas JSP escritas con sintaxis XML, esto nos brinda algunas ventajas sobre la forma estándar de escribir estos archivos:
- Las páginas JSP pueden ser creadas usando cualquiera de las muchas herramientas de generación de XML, lo que además le garantizará que su documento estará bien formado.
- Las páginas JSP pueden ser creadas usando cualquiera de las muchas herramientas de generación de XML, lo que además le garantizará que su documento estará bien formado.
- Podría validar el contenido de la página JSP contra un descriptor DTD (definición de tipo de documento), obteniendo así los beneficios que esto nos puede traer.
- Podría anidar y extender namespaces dentro de las páginas JSP.
Las páginas JSP pueden ser usadas para intercambiar datos entre aplicaciones web.
Además de estos beneficios, el escribir documentos JSP reduce la complejidad mientras aumenta la flexibilidad, ya que podemos tener tanto páginas JSP como documentos JSP en nuestras aplicaciones, y por otra parte, los elementos en sintaxis XML puede ir sin ningún problema dentro de una página JSP con sintaxis estándar, lo que nos permite ir haciendo una migración gradual hacía documentos JSP.
Cómo crear un documento JSP?
Como ya dije anteriormente un documento JSP tiene que ceñirse a la sintaxis XML, y esto tiene sus restricciones, lo más básico es que cada elemento debe tener su elemento de cierre correspondiente y que sólo debemos tener un elemento raíz. Pero esto no es algo que sea tan difícil como cualquiera pensaría, si nos ponemos a pensar, la gran mayoría de los elementos de una página JSP convencional ya cumplen con la sintaxis XML, aquellos que no cumplen, los he clasificado en la siguiente tabla, junto con su equivalencia:
|
Elemento
|
Sintaxis estándar
|
Sintaxis XML
|
|
Comentarios
|
<%– … –%>
|
<!– … –>
|
|
Declaraciones
|
<%! … %>
|
<jsp:declaration> … </jsp:declaratio>
|
|
Directivas
|
<%@ include … %>
|
<jsp:directive.include … />
|
|
<%@ page … %>
|
<jsp:directive.page … />
|
|
<%@ taglib … %>
|
xmlns:prefijo=”tag library URL”
|
|
Expresiones
|
<%= … %>
|
<jsp:expression> … </jsp:expression>
|
|
Scriptlets
|
<% … %>
|
<jsp:scriptlet> … </jsp:scriptlet>
|
Página JSP en format estándar
<%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix="c" %>
<%@ taglib uri=http://java.sun.com/jsp/jstl/functions prefix="fn" %>
<html>
<head><title>Hola</title></head>
<body bgcolor="white">
<img src="image.gif">
<h2>Hola Documentos JSP</h2>
<form method="get">
<input type="text" name="username" size="25">
<p></p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
<jsp:useBean id="userNameBean" class="hello.UserNameBean" scope="request"/>
<jsp:setProperty name="userNameBean" property="name" value="${param.username}" />
<c:if test="${fn:length(userNameBean.name) > 0}" >
<%@include file="response.jsp" %>
</c:if>
</body>
</html>
Documento JSP en formato XML
<html
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fn="http://java.sun.com/jsp/jstl/functions" >
<head><title>Hello</title></head>
<body bgcolor="white" />
<img src="duke.waving.gif" />
<h2>My name is Duke. What is yours?</h2>
<form method="get">
<input type="text" name="username" size="25" />
<p></p>
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</form>
<jsp:useBean id="userNameBean" class="hello.UserNameBean" scope="request"/>
<jsp:setProperty name="userNameBean" property="name" value="${param.username}" />
<c:if test="${fn:length(userNameBean.name) gt 0}" >
<jsp:directive.include="response.jsp" />
</c:if>
</body>
</html>