14.6. Using Tiles in a Modular Application
Problem
You are using Struts modules, and you want to define module-specific Tiles definitions.
Solution
Create a separate Tiles definitions file for each module. Then, in
each module's Struts configuration file, configure
the TilesPlugin, as shown in Example 14-10, to use that module's
definitions file and be module-aware.
Example 14-10. Configuring Tiles for a specific module
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<!-- Path to XML definition file -->
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs-module1.xml" />
<!-- Set Module-awareness to true -->
<set-property property="moduleAware" value="true" />
</plug-in>Discussion
Like configuration files for the Struts Validator, you can separate
your Tiles definitions into multiple files. If you are using modules,
you can create Tiles definitions, which can only be accessed from
within a specific module, by declaring that definition file in the
module's Struts configuration file. To ensure that
Tiles handles module-relative paths when it processes requests, you
must set the moduleAware property to
true. By being module-aware when you forward to a
definition, the definition name will be pulled from the definitions
for that module. Definition names have to be
unique within a module.
Suppose your application has two modules: the default module and an administration module. The struts-config-admin.xml file, shown in Example 14-11 configures the administration ...