Aspectos avanzados de Sitemesh

En este tutorial vamos a exprimir el framework Sitemesh para mostrar como podemos adaptar nuestros decoradores en función de condiciones como: parámetros en la URL, el agente de usuario

Aspectos avanzados de Sitemesh

0. Índice de
contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Mac Book Pro 17″ (2,6 Ghz Intel Core i7, 8 GB DDR3)
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.4
  • Sitemesh 2.4.2
  • Maven 3.0.4

2. Introducción

Este tutorial vamos a profundizar un poco más en el uso de Sitemesh, del cual ya vimos una introducción en este otro tutorial. El cual os aconsejo que leais para poder seguir este.

Vamos a ver como configurar Sitemesh para poder aplicar un decorador u otro en función de condiciones como el idioma del navegador, el agente de usuario que lo visualiza, por un parámetro en el la URL, por un tag META, …

3. Vamos al lío

Para configurar Sitemesh tenemos que crear un fichero en la carpeta WEB-INF del proyecto con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>

      
  	  <property name="decorators-file" value="/WEB-INF/decorators.xml"/>
  	  
	  <excludes file="${decorators-file}"/>
	  
	      
	    
	      <param name="property.1" value="meta.decorator" />
	      <param name="property.2" value="decorator" />
	    
	    
	    
	      <param name="match.en" value="en" />
	      <param name="match.zh" value="es" />
	    
	    
	    
	      <param name="match.Android" value="mobile" />
	      <param name="match.MSIE" value="ie" />
	      <param name="match.Mozilla" value="ns" />
	      <param name="match.Chrome" value="ch"/>
	      <param name="match.Safari" value="sf"/>
	    
	    
	    
	      <param name="decorator.parameter" value="decorator" />
	      <param name="parameter.name" value="confirm" />
	      <param name="parameter.value" value="true" />
	    
	    
	      <param name="config" value="${decorators-file}" />
	    
	  


Para esta configuración tendríamos que añadir el siguiente contenido en el fichero decorators.xml que ya conocemos:

<?xml version="1.0" encoding="UTF-8"?>

	
    
        /*
    
    
    <decorator name="main-en" page="main-en.jsp"/>
    
    <decorator name="main-ie" page="main-ie.jsp"/>
    
    <decorator name="test" page="main-test.jsp"/>
    
    <decorator name="decorator-meta" page="main-decorator.jsp"/>
    
    <decorator name="main-mobile" page="main-decorator.jsp"/>

El último paso sería crear cada uno de los decoradores definidos con el contenido que se quiera para el caso específico.

Ahora os animo a que probéis cada uno de los casos siguiendo estos tutoriales.

4. Conclusiones

Gracias a estos tutoriales hemos echado un vistazo a este framework que como véis puede ser de gran utilidad cuando nos solicitan personalizar la interfaz de forma dinámica en función de ciertos parámetros.

Cualquier duda o sugerencia en la zona de comentarios.

Saludos.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Consultor tecnológico de desarrollo de proyectos informáticos.
Ingeniero en Informática, especialidad en Ingeniería del Software.

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

22/06/2026

Juan Antonio Jiménez Torres

Vamos a instrumentalizar un SDD para un microservicio bancario. En este artículo sobre SDD - Spec Driven Development, instrumentalizado sobre OpenSpec vamos a construir una PoC de algo más serio que una tabla periódica. Un microservicio bancario muy simplificado que gestione cuentas y permita hacer transferencias

16/06/2026

Juan Antonio Jiménez Torres

Este es el segundo artículo sobre SDD, Spec Driven Development, instrumentalizado sobre OpenSpec. Pero esta vez nos acercaremos usando softwere gratuito. Por un lado OpenCode en lugar de ClaudeCode y usando el modelo gratuito Gemma4 de Google en lugar de otros de pago.

08/06/2026

Juan Antonio Jiménez Torres

Aprenderemos sobre SDD – Spec Driven Development instrumentalizado sobre OpenSpec. Haremos un primer acercamiento usando ClaudeCode con Sonnet, para luego, en un artículo posterior pasarnos a la versión gratuita de OpenCode con Gemma4