2.5. Factoring Your Application into Modules
Problem
You want to segregate portions of a web application into distinct subapplications, or modules, each with its own separate configuration.
Solution
Create a Struts configuration file for each module in addition to a
Struts configuration file for the default module. Then declare each
module using initialization parameters for the
ActionServlet
in the web.xml,
as shown in Example 2-11.
Example 2-11. ActionServlet configuration for modules
<!-- Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>config/module1</param-name> <param-value>/WEB-INF/struts-config-module1.xml</param-value> </init-param> <init-param> <param-name>config/module2</param-name> <param-value>/WEB-INF/struts-config-module2.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
Discussion
Struts 1.1 introduced the ability to define separately configurable sub-applications known as modules. Modules were incorporated into Struts to address the need for subdividing a web application into distinct, manageable portions. Each module is defined with its own configuration file(s). Every Struts application implicitly has a default module. The default module has no module name.
Tip
To provide backward compatibility with Struts ...
Get Jakarta Struts Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.