Nueva declaración de taglibs

De OpenCmsWiki

OpenCms 8 ofrece un nuevo mecanismo de declaración rápida de taglibs estándares en nuestras jsp. La forma rápida de declaración es:

<%@page session="false" taglibs="c,cms" %>

Por defecto, OpenCms 8 viene con las siguientes declaraciones:

<loader class="org.opencms.loader.CmsJspLoader" >
	  <param name="taglib.cms">http://www.opencms.org/taglib/cms</param>
	  <param name="taglib.c">http://java.sun.com/jsp/jstl/core</param>
	  <param name="taglib.fn">http://java.sun.com/jsp/jstl/functions</param>
	  <param name="taglib.fmt">http://java.sun.com/jsp/jstl/fmt</param>
	  <param name="taglib.x">http://java.sun.com/jsp/jstl/xml</param>
	  <param name="taglib.sql">http://java.sun.com/jsp/jstl/sql</param>
</loader>

Tan solo debemos marcar en el atributo taglibs de la etiqueta page separado por coma los nombres de los taglibs a añadir.

Si queremos añadir nuevos taglibs a la lista por defecto tan solo debemos editar el fichero de configuración opencms-vfs.xml y editar el nodo loader siguiendo los valores por defecto.


Taglib personalizado

Cuando queremos añadir un taglib desarrollado por nosotros dentro de la lista de taglibs de OpenCms, debemos en primer lugar darlo de alta en el web.xml de la siguiente forma:

<jsp-config>
...
<taglib>
   <taglib-uri>http://www.sagasoluciones.com/taglib/ts</taglib-uri>
   <taglib-location>/WEB-INF/ts.tld</taglib-location>
</taglib>
...
</jsp-config>

Una vez definido nuestro taglib en el web.xml y subido nuestro fichero .tld donde describimos el comportamiento del tag, lo podemos incluir en la configuración de OpenCms (fichero opencms-vfs.xml):

<loader class="org.opencms.loader.CmsJspLoader" >
	  <param name="taglib.cms">http://www.opencms.org/taglib/cms</param>
	  <param name="taglib.c">http://java.sun.com/jsp/jstl/core</param>
	  <param name="taglib.fn">http://java.sun.com/jsp/jstl/functions</param>
	  <param name="taglib.fmt">http://java.sun.com/jsp/jstl/fmt</param>
	  <param name="taglib.x">http://java.sun.com/jsp/jstl/xml</param>
	  <param name="taglib.sql">http://java.sun.com/jsp/jstl/sql</param>
          <param name="taglib.ts">http://www.sagasoluciones.com/taglib/ts</param>
</loader>
Herramientas personales