Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

This tutorial teaches you how to set up SiteMesh within a Java Web Development Environment and should take about 5 minutes or less.

Tip

Shortcut: Don't have a development environment handy or know how to set one up? Download the SiteMesh Starter Kit which contains SiteMesh with all the examples in a pre-configured development environment. Best of all, no install necessary, just unzip and run.

Demo Web Application

If you plan to follow along the tutorial, you will want to setup your web application with the context root of cafemirabeau a fictional Café in Aix-en-Provence.

Install SiteMesh Manually

Installing SiteMesh into your web application consists of three steps,

  1. Add the SiteMesh library file to WEB-INF/lib
  2. Add the SiteMesh filter to web.xml
  3. Create a blank decorators.xml file

Setup Library File

Copy the SiteMesh jar file into your web application's WEB-INF/lib directory. In this example we downloaded SiteMesh 2.4.1 which uses the jar name, sitemesh-2.4.1.jar.

Add SiteMesh Filter

Add the following to WEB-INF/web.xml within the <web-app> tag,

Code Block
languagexml
  <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

Here is a sample web.xml,

Code Block
titleSample web.xml
linenumberstrue
languagexml
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>mirabeau</display-name>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

</web-app>

Create the a decorators.xml file in your WEB-INF directory,

Code Block
titledecorator.xml
languagexml
<decorators>
</decorators>

If you start up your application server (container) and get no errors then SiteMesh is is ready to go. However, SiteMesh will not do anything yet. Continue to Start Using SiteMesh in 10 minutes.