Curso de J2EE

Comentarios JSP

Son líneas de texto que se incluyen en el código de las jsps para realizar aclaraciones sobre parte del código. El programador de jsps dispone de tres tipos:

Ejemplo: muestra el uso de comentarios. Para ejecutar el ejemplo, agregar al proyecto de JCreator JSPs, Comentarios.jsp, y teclear en el cliente http://localhost:8080/jsp-examples/Comentarios.jsp

Código de Comentarios.jsp

Para acceder al código completo de Comentarios.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

Respuesta


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Acciones

Permiten incluir componentes complementarios a la página jsp como applets, otras páginas jsp, servlets, javabeans, etc. Utilizan nomenclatura xml.

NOTA: recordar que si una etiqueta xml no tiene contenido no es preciso cerrarla, basta con <prefijo:nombreEtiqueta … /> teniendo en cuenta que los puntos suspensivos serán sus atributos.

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Acción include

Es parecida a la directiva, pero con dos importantes diferencias:

  • Permite la inclusión dinámica del contenido de otras jsps, páginas html, ficheros de texto no formateado, ficheros Java, ficheros XML, etc. A diferencia de la directiva, en la acción se admite la inclusión de servlets.
  • La inclusión se realiza, no durante la traducción de la jsp, sino justo después, en lo que se denomina periodo de petición propiamente dicho, una vez que el servlet generado ya ha sido creado. Es como si se hubiera escrito en el método de servicio de dicho servlet las líneas siguientes:
RequestDispatcher rd=request.getRequestDispatcher(urlLocal);
rd.include(request,response);

En la inclusión estática mediante la directiva, en vez de estas líneas, aparecería el contenido del recurso incluido.

Esta forma de trabajo implica que, cuando se realizan modificaciones en el recurso incluido, no será necesario actualizar la jsp en la que se define la acción.

Sintaxis:

Tiene dos atributos, uno obligatorio cuyo nombre es page y otro opcional cuyo nombre es flush

  • page: url local que apunta al recurso que va a incluirse. No admite ningún protocolo, nombre de host o número de puerto.
  • flush: opcional. Por defecto, toma el valor de false. Si se cambia a true, el búfer de salida se vacía antes de que se incluya el recurso asociado a la acción. Este atributo no suele utilizarse.

Es mejor, a nivel de rendimiento interno, no vaciar el búfer sin incluir los ficheros indicados en la acción.

NOTA: a diferencia de la directiva include, la acción include admite paso de parámetros y evaluación de atributos mediante expresiones:

¿Cómo se pasan parámetros?

  • Mediante la subetiqueta <jsp:param> con los atributos name y value para pasar parámetros a la jsp en la que se delega.

Pueden utilizarse expresiones en los atributos:

 

  • Mediante .....?nombre1=valor1&nombre2=valor2

 

El recurso incluido puede capturar datos o parámetros que se pasan de la jsp original mediante el objeto request. Se emplean, sobre todo, los métodos getAttribute(..), getParameter(..), etc.

Se verá en el ejemplo.

Ejemplo: muestra el uso de la acción include. Se crea un boletín de noticias mediante una jsp que contiene tres acciones include que apuntan a dos ficheros html y a otra jsp, que contienen las noticias.

Para ejecutar el ejemplo, agregar al proyecto de JCreator JSPs, Boletin.jsp, Noticia1.html, Noticia2.html y Noticia3.jsp, y teclear en el cliente http://localhost:8080/jsp-examples/Boletin.jsp

Código de Boletin.jsp

Para acceder al código completo de Boletin.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

Código de Noticia1.html

Código fuente

Código de Noticia2.html

Código fuente

Código de Noticia3.jsp

Para acceder al código completo de Noticias3.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

NOTA 1: si se quieren actualizar las noticias, simplemente se modifican los ficheros html asociados a las mismas y se actualiza el cliente web pulsando el botón “Actualizar”, sin necesidad de actualizar Boletin.jsp. ¡Comprobarlo!.

 

NOTA 2: si se intenta mostrar un applet cuyos class y htm se encuentran en un servidor distinto del que hospeda la jsp mediante las líneas

el applet no se ejecuta. El atributo page no admite protocolos ni puertos ni nombres de host.

Si se copian en tomcat_home\webapps\jsp-examples, los ficheros JuegoCapitales.htm, JuegoCapitales.class, JuegoCapitales$1.class y JuegoCapitales$2.class, y se sustituye la línea anterior por ésta:


el applet se ejecuta correctamente.

CONCLUSIÓN: mediante la acción include se pueden ejecutar applets hospedados en el mismo servidor que la jsp en la que se define la acción include.

Para incluir applets hospedados en un servidor distinto de áquel en el que se encuentra la jsp donde se define el include, se utiliza la acción <jsp:plugin>

Se va a estudiar a continuación.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de J2EE y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.