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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access