www.sitemesh.homeip.net is an attempt to consolidate and upgrade the SiteMesh official documentation.
SiteMesh is a web-page layout and decoration framework and web- application integration framework to aid in creating large sites consisting of many pages for which a consistent look/feel, navigation and layout scheme is required.
SiteMesh intercepts requests to any static or dynamically generated HTML page requested through the web-server, parses the page, obtains properties and data from the content and generates an appropriate final page with modifications to the original. This is based upon the well-known GangOfFour Decorator design pattern.
SiteMesh can also include entire HTML pages as a Panel within another page. This is similar to a Server-Side Include, except that the HTML document will be modified to create a visual window (using the document's Meta-data as an aid) within a page. Using this feature, Portal type web sites can be built very quickly and effectively. This is based upon the well-known GangOfFour Composite design pattern.
SiteMesh is built using Java 2 with Servlet, JSP and XML technologies. This makes it ideal for use with J2EE applications, however it can be integrated with server-side web architectures that are not Java based such as CGI (Perl/Python/C/C++/etc), PHP, Cold Fusion, etc...
What is SiteMesh?
SiteMesh 3 has been officially released.
SiteMesh is a lightweight and flexible Java web application framework that applies the Gang of Four decorator pattern to allow a clean separation of content from presentation.
Work with the content of your website and have the appropriate look and feel applied (decorated) just before delivery to a PC or Mobile device.
- SiteMesh is easy to learn. 5 minutes to setup, and 10 minutes to start being useful.
- SiteMesh integrates quickly, just 4 files.
Why Use SiteMesh
Write your content once and present it in many different ways,
Let's Hear Some More
SiteMesh uses Filters introduced since Java Servlet version 2.3.
- SiteMesh intercepts responses to generated HTML and merges it with decorator(s) to build the final result.
- SiteMesh can be used in Java based web-applications, or applied to content as an offline job.
- Enterprise class web applications and products such as Atlasssian Confluence use SiteMesh.
For a good overview, see Mike Cannon-Brookes' PowerPoint presented at the Vegas Server Side Symposium.