Creating Struts Modules

By: Henry Viewed: 192 times  Printer Friendly Format    


The objective of this tutorial is to teach how to create Struts application modules and break monolithic struts module into pieces

1. If you already have a Struts application, then this tutorial will show you how to add a new module to your existing application.

2. The index page belongs to the default module. From the index page, we will provide a link to go
to module2. Module 2 will consist of a two dummy pages that can call each other and also have a
link to return to default module.

  1. Change the web.xml to define a new module named xyz as follows:
    <init-param>
    <param-name>config/xyz</param-name>
    <param-value>/WEB-INF/struts-config-xyz.xml</param-value>
    </init-param>
  2. Copy over the struts-config.xml to create a new struts-config-xyz.xml
  3. Create a empty XYZ Message Resources
  4. Clean up the struts-config-xyz.xml to retain only empty blocks for form-beans, action
    mappings etc. Add the message resource bundle definition to struts-config-xyz.xml.
  5. Add SwitchAction to struts-config.xml & struts-config-xyz.xml as follows:
    <action path="/switch" type="org.apache.struts.actions.SwitchAction"/>
  6. Create a folder called xyz under the src/web directory. Create two jsps: xyz-page1.jsp & xyzpage2.jsp (Copy over index.jsp & change contents)
  7. Add bean:message for titles and define them in XYZMessageResources
  8. In xyz-page1.jsp, add link to navigate to xyz-page2.jsp (Forward Action via html:link)
  9. In xyz-page2.jsp, add link to navigate to xyz-page1.jsp (Forward Action via html:link)
  10. In index.jsp, a link is added to go to xyz-page1.jsp in xyz module as follows:
    <html:link forward="gotoXYZModule">Go to XYZ Module</html:link>
  11. In xyz-page1.jsp, add a link to go to index.jsp in default module
    <html:link forward="gotoDefaultModule">Go to Default Module</html:link>
  12. Add global forward in struts-config.xml to go to xyz-page1.jsp
    <forward name="gotoXYZModule"
    path="/switch.do?page=/page1.do&amp;prefix=/xyz" />
  13. Add global forward in struts-config-xyz.xml to go to index.jsp
    <forward name="gotoDefaultModule"
    path="/switch.do?page=/showCustomerSearchForm.do&amp;prefix="/>


Most Viewed Articles (in Struts )

Latest Articles (in Struts)

Comment on this tutorial