Package org.apache.struts.tiles
Class TilesPlugin
java.lang.Object
org.apache.struts.tiles.TilesPlugin
- All Implemented Interfaces:
PlugIn
Tiles Plugin used to initialize Tiles.
This plugin is to be used with Struts 1.1 in association with
This plugin creates one definition factory for each Struts-module. The definition factory configuration is read first from 'web.xml' (backward compatibility), then it is overloaded with values found in the plugin property values.
The plugin changes the Struts configuration by specifying a
This plugin can also be used to create one single factory for all modules. This behavior is enabled by specifying
TilesRequestProcessor
.
This plugin creates one definition factory for each Struts-module. The definition factory configuration is read first from 'web.xml' (backward compatibility), then it is overloaded with values found in the plugin property values.
The plugin changes the Struts configuration by specifying a
TilesRequestProcessor
as
request processor. If you want to use your own RequestProcessor,
it should subclass TilesRequestProcessor.
This plugin can also be used to create one single factory for all modules. This behavior is enabled by specifying
moduleAware=false
in each
plugin properties. In this case, the definition factory
configuration file is read by the first Tiles plugin to be initialized. The order is
determined by the order of modules declaration in web.xml. The first module
is always the default one if it exists.
The plugin should be declared in each struts-config.xml file in order to
properly initialize the request processor.- Since:
- Struts 1.1
-
Field Summary
Modifier and TypeFieldDescriptionprotected PlugInConfig
The plugin config object provided by the ActionServlet initializing this plugin.protected DefinitionsFactory
Associated definition factory.protected boolean
Is the factory module aware?protected String
Tiles util implementation classname. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
End plugin.findStrutsPlugInConfigProperties
(ActionServlet servlet, ModuleConfig config) Find original properties set in the Struts PlugInConfig object.Get Tiles util implemention classname.void
init
(ActionServlet servlet, ModuleConfig moduleConfig) Receive notification that the specified module is being started up.protected void
Set RequestProcessor to appropriate TilesRequestProcessor
.boolean
Get the module aware flag.protected DefinitionsFactoryConfig
readFactoryConfig
(ActionServlet servlet, ModuleConfig config) Create FactoryConfig and initialize it from web.xml and struts-config.xml.void
setCurrentPlugInConfigObject
(PlugInConfig plugInConfigObject) Method used by the ActionServlet initializing this plugin.void
setModuleAware
(boolean moduleAware) Set the module aware flag.void
setTilesUtilImplClassname
(String tilesUtilImplClassname) Set Tiles util implemention classname.
-
Field Details
-
moduleAware
protected boolean moduleAwareIs the factory module aware? -
tilesUtilImplClassname
Tiles util implementation classname. This property can be set by user in the plugin declaration. -
definitionFactory
Associated definition factory. -
currentPlugInConfigObject
The plugin config object provided by the ActionServlet initializing this plugin.
-
-
Constructor Details
-
TilesPlugin
public TilesPlugin()
-
-
Method Details
-
isModuleAware
public boolean isModuleAware()Get the module aware flag.- Returns:
true
: user wants a single factory instance,false:
user wants multiple factory instances (one per module with Struts)
-
setModuleAware
public void setModuleAware(boolean moduleAware) Set the module aware flag. This flag is only meaningful if the propertytilesUtilImplClassname
is not set.- Parameters:
moduleAware
-true
: user wants a single factory instance,false:
user wants multiple factory instances (one per module with Struts)
-
init
Receive notification that the specified module is being started up.
- Specified by:
init
in interfacePlugIn
- Parameters:
servlet
- ActionServlet that is managing all the modules in this web application.moduleConfig
- ModuleConfig for the module with which this plugin is associated.- Throws:
ServletException
- if thisPlugIn
cannot be successfully initialized.
-
destroy
public void destroy()End plugin. -
readFactoryConfig
protected DefinitionsFactoryConfig readFactoryConfig(ActionServlet servlet, ModuleConfig config) throws ServletException Create FactoryConfig and initialize it from web.xml and struts-config.xml.- Parameters:
servlet
- ActionServlet that is managing all the modules in this web application.config
- ModuleConfig for the module with which this plugin is associated.- Throws:
ServletException
- if thisPlugIn
cannot be successfully initialized.
-
findStrutsPlugInConfigProperties
protected Map<String,Object> findStrutsPlugInConfigProperties(ActionServlet servlet, ModuleConfig config) throws ServletException Find original properties set in the Struts PlugInConfig object. First, we need to find the index of this plugin. Then we retrieve the array of configs and then the object for this plugin.- Parameters:
servlet
- ActionServlet that is managing all the modules in this web application.config
- ModuleConfig for the module with which this plug in is associated.- Throws:
ServletException
- if thisPlugIn
cannot be successfully initialized.
-
initRequestProcessorClass
Set RequestProcessor to appropriate TilesRequestProcessor
. First, check if a RequestProcessor is specified. If yes, check if it extends the appropriateTilesRequestProcessor
class. If not, set processor class to TilesRequestProcessor.- Parameters:
config
- ModuleConfig for the module with which this plugin is associated.- Throws:
ServletException
- On errors.
-
setTilesUtilImplClassname
Set Tiles util implemention classname. If this property is set, the flagmoduleAware
will not be used anymore.- Parameters:
tilesUtilImplClassname
- Classname.
-
getTilesUtilImplClassname
Get Tiles util implemention classname.- Returns:
- The classname or
null
if none is set.
-
setCurrentPlugInConfigObject
Method used by the ActionServlet initializing this plugin. Set the plugin config object read from module config.- Parameters:
plugInConfigObject
- PlugInConfig.
-