Edit on GitHub << back to Tag Developers Guide

# Themes and Templates

The notions of “themes” and “templates” are at the core of the HTML Struts Tags provided by the framework.

## Definitions

tag | A small piece of code executed from within JSP, FreeMarker, or Velocity.
template | A bit of code, usually written in FreeMarker, that can be rendered by certain tags (HTML tags)
theme | A collection of templates packaged together to provide common functionality

> See Struts Tags for more about the HTML and other tags provided by the framework.

## Template Basics

Template Loading | How templates are loaded
Selecting Template Directory | How the template directories are loaded
Selecting Themes | How you can pick a theme when writing your results
Extending Themes | How to create your own themes based on existing themes

## More About Themes

simple theme | A minimal theme with no “bells and whistles”
xhtml theme | The default theme that uses common HTML practices
css_xhtml theme | The xhtml theme re-implemented using strictly CSS for layout
ajax theme | A theme based on the xhtml theme that provides advanced AJAX features