struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niesen, Nathan" <>
Subject RE: Configuring Tiles + Validation + Modules
Date Thu, 27 Mar 2003 19:17:16 GMT
I also wanted to mention... If I can only accomplish this using tiles, then
that indicates to me that something is wrong with the way modules were
designed.  I also noticed in the tiles examples that many of your URLs
contain <%=request.getContextPath()%>. This looks to me like you are
constantly having to override the URLs generated by the modules. I see that
as another design issue.

I admit I haven't fully explored the tiles-documentation.war but I do have
the following comments. The docs module lacks any documentation on how to
actually use tiles. Instead it is just a list of features and release notes
and is in fact identical to the welcome page. I think a user manual with
similar format and content to David Geary's templates article (Using JSP
templates to encapsulate Webpage layout and encourage modular design) would
be extremely beneficial. The left hand navigation on the main page is not
organized very well, it contains duplicate links with deferent names and
listed under different categories. The examples also contain a lot of script
which makes them hard to read. The blocks of script in the layouts (column,
vertical, etc...) and menu.jsp look like potential candidates for custom


 -----Original Message-----
From: 	Niesen, Nathan  
Sent:	Thursday, March 27, 2003 12:32 PM
To:	'Cedric Dumoulin'; Struts Users Mailing List
Subject:	RE: Configuring Tiles + Validation + Modules

Again, all that example appears to show is that you can link from one module
to another. As far as I can tell, it does not show how to define a jsp page
containing a Struts <html:form action="/myAction"> tag in on module and then
reuse that page from modules B, C, and D. The action mappings for myAction
would need to be defined in the config files for modules B, C, and D because
the forward pages would be different.

Here's as good an example as any that I can give in this medium:

      <html:form action="/zoom">
        <html:text property="zoomLevel">

      <jsp:include page="/mapping/mapViewer.jsp>
      <jsp:include page="/mapping/zoomControl.jsp>
      ...order selection and action controls...

      ...product selection control...
      <jsp:include page="/mapping/zoomControl.jsp>
      <jsp:include page="/mapping/mapViewer.jsp>

  <action path="zoom" type="ZoomAction" name="zoomForm">
    <forward name="success" path="/inventory-module/inventoryTracking.jsp">

  <action path="zoom" type="ZoomAction" name="zoomForm">
    <forward name="success" path="/orders-module/orderTracking.jsp">

 -----Original Message-----
From: 	Cedric Dumoulin [] 
Sent:	Thursday, March 27, 2003 10:11 AM
To:	Struts Users Mailing List
Subject:	Re: Configuring Tiles + Validation + Modules

Niesen, Nathan wrote:

>I basically have the same questions. I've been searching the user docs and
>mailing lists trying to get a handle on what modules were intended to do,
>what modules can and can't do, and how I can use modules to improve my
>application framework. It appears to me that the modules feature opened up
>whole can-o-design-worms and they're still wiggling. I can't find anything
>that clearly defines intended usage of modules or the limitations of
>modules; especially in regards to using "resources" outside of a modules
>In addition to John's questions, I have the following question:
>1) How can I use tiles/templates to assemble a page in one module from
>reusable "components/pages" in one or more other modules? For example: I
>have pages in modules B, C, and D, that all want to pull in a menu page
>my default module as well as a reusable page from module A.
  Tiles config file consider the url as absolute to the application. So, 
simply specify the absolute URL of your layout, page or tile.
  The tiles-documentation.war use 3 modules. You can check it for examples.


>Other issues with modules:
>1) Not all tags (html:img in particular) use the pagePattern or
>forwardPattern attributes from the controller. If I want to use an image in
>my header.jsp, the image file has to be physically located in each module
>I get a broken link.
>2) The pagePattern and forwardPattern are defined on the controller which
>means all tag or forward URLs for the module will be mapped to the same
>context relative URL. I think it would be more flexible if you simply
>specified the pattern as part of the URL attribute for the tag or forward.
>For example: <html:img alt="get an image from the default module"
>page="$P/header.gif"/> and <html:img alt="get an image from the current
>module" page="$M$P/module.gif"/>
>3) The examples don't effectively demonstrate the effects that the
>contextRelative, inputForward, pagePattern, and forwardPattern attributes
>have on the page, forward, action, and href attributes.
>4) The examples only show how to switch from one self-contained module to
>another. They don't demonstrate how to combine resources/pages from
>modules into a single page via either includes or tiles/templates.
>Thanks, Nathan.
> -----Original Message-----
>From: 	Hohlen, John C [] 
>Sent:	Wednesday, March 26, 2003 8:20 AM
>To:	Struts-User (E-mail)
>Subject:	Configuring Tiles + Validation + Modules
>I'm looking for some help on how to configure the Tiles and Validation
>Plug-Ins.  A lot of the good books (Struts In Action, Programming Jakarta
>Struts, etc.) and replies to the mailing list address these topics
>independently, but not collectively.  In addition, I took a look at James
>Holmes "Switching Modules" example, but that focuses on the different ways
>to switch b/t modules, not on how to configure Modules with Tiles and the
>Validation frameworks. 
>For discussion purposes, let's assume I have following 3 modules (default,
>modA, modB).  Here are my questions:
>1) If I have a form bean definition used by all 3 modules, does it need to
>be defined in each of the 3 struts-config files, or can I just declare it
>the default struts-config?
>2) Does each modules' struts-config file need the following declaration to
>use the Validation framework, or can I simply declare this once in the
>config file for the default module?
>  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
>    <set-property property="pathnames" 
>                  value="/WEB-INF/validator-rules.xml,
>  </plug-in>
>3) For Tile Definition config files, can all of these just be declared in
>the default struts-config, or should they be declared in the module
>struts-config they correspond to (assuming you've divided your Tile
>definitions by module)?  For example:
>  <plug-in className="org.apache.struts.tiles.TilesPlugin" >
>    <set-property property="definitions-config"
>                value="/WEB-INF/tiles-defs-default.xml,
>                       /WEB-INF/tiles-defs-modA.xml,  
>                       /WEB-INF/tiles-defs-modB.xml"/>
>  </plug-in>
>4) Can I use the default module's application resource file for text common
>across modules?  Therefore, preventing me from having to duplicate entries
>across modules.  If so, this means Struts always looks in the particular
>module's application resource first, then the default module.  But this
>doesn't apply for form bean definitions or action mappings, correct?
>5) Is the following an acceptable way to configure the application resource
> --- struts-config.xml (default) -------
> <message-resources parameter="Messages" 
>                    null="false"/>
> --- struts-config-modA.xml (default) -------
> <message-resources parameter="Messages-modA" 
>                    null="false"/>
> --- struts-config-modB.xml (default) -------
> <message-resources parameter="Messages-modB" 
>                    null="false"/>
>Thanks in advance for your help,
>To unsubscribe, e-mail:
>For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message