Creating Struts Modules

By: Henry Viewed: 153220 times    

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