Versions Compared

Key

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

...

The Tiles plugin

Excerpt

allows actions to return Tiles pages

.

Features

  • Supports Tiles in Freemarker, JSP, and Velocity

Usage

The following steps must be taken in order to enable tiles support within your Struts2 application:

  1. Include the struts-tiles-plugin as a dependency in your web application. If you are using maven2, the dependency configuration will be similar to:
    Code Block
    xml
    xml
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-tiles-plugin</artifactId>
      <version>${version.tiles}</version>
      <scope>compile</scope>
    </dependency>
    
  2. Register the tiles listener. This listener will typically either be the standard tiles listener (org.apache.tiles.listener.TilesListener) or the Struts2 replacement (org.apache.struts2.tiles.TilesListener). The latter provides tighter integration with Struts features such as freemarker integration.
    Code Block
    xml
    xml
    <listener>
      <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
    </listener>
    
  3. All package definitions which require tiles support must either extend the tiles-default package or must register the Tiles Result type definition.
    Code Block
    xml
    xml
    <result-types>
      <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
    </result-types>
    
  4. Configure your actions to utilize a tiles definition:
    Code Block
    xml
    xml
    <action name="sample" class="org.apache.struts2.tiles.example.SampleAction" >
      <result name="success" type="tiles">tilesWorks</result>
    </action>
    

Example

This example shows a Tiles layout page using Struts tags:

Wiki Markup
{snippet:url=struts2/apps/showcase/src/main/webapp/tiles/layout.jsp|lang=xml}

Settings

This plugin does inherits settings from Tiles configuration.

Installation

This plugin can be installed by copying the plugin jar into your application's /WEB-INF/lib directory. No other files need to be copied or created.