In your example, you insert definition /top, which by extensions use
'base.jsp' as layout. In this later, you do <insert attribute="body" />. Body
value is page /middle.jsp, wich is inserted. But, /midle.jsp is a page, not a
definition. In /midle.jsp, you do <insert attribute="anotherBody" />, but
anotherBody is not defined for the page.

  You should either do  :

   * Pass the attribute value when you insert the page
   * Insert a definition using the page as layout, and declaring the attribute

  Cedric

Ian Beaumont wrote:

> I access it by going to "/myPage.do".  Here is an extract from the
> struts-config.
>
>     <action    path="/myPage"
>                type="com.categoric.criticallogistix.client.DoFirst"
>                 scope="request" >
>       <forward name="success"              path="/top"/>
>     </action>
>
> DoFirst is just
> import org.apache.struts.action.*;
> import javax.servlet.http.*;
>
> public class DoFirst extends Action {
>
>     public ActionForward perform(
>         ActionMapping aMapping,
>         ActionForm aForm,
>         HttpServletRequest aRequest,
>         HttpServletResponse aResponse
>     ) {
>         return aMapping.findForward("success");
>     }
>
> -----Original Message-----
> From: Cedric Dumoulin [mailto:[EMAIL PROTECTED]]
> Sent: 22 February 2002 13:36
> To: Struts Users Mailing List
> Subject: Re: Nesting Tiles within each other problem
>
>   Sure it is possible.
>   In your example, what url do you use to access the page ?
>   Remember that a definition name is a logical name. It can not be used as
> an
> url. You can use it in <insert name="defName" />, or as the path of a Struts
> forward.
>
> Ian Beaumont wrote:
>
> > I have a page, which uses <tiles:insert> to insert another page that also
> > has a <tiles:insert>.  Is this possible?  I just keep getting a servlet
> > exception.  Below is a simplified example of what I'm doing.
> >
> > base.jsp
> > <%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>
> > <html:html locale="true">
> > <body>
> > <tiles:insert attribute="body"/>
> > </body>
> > </html:html>
> >
> > middle.jsp
> > <%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>
> > <tiles:insert attribute="anotherBody"/>
> >
> > top.jsp
> > <p>Hello World</p>
> >
> > >From tiles definition
> >     <definition name="/baseLayout" path="/base.jsp">
> >       <put name="body" value=""/>
> >     </definition>
> >
> >     <definition name="/middleLayout" extends="/baseLayout">
> >       <put name="body" value="/middle.jsp"/>
> >       <put name="anotherBody" value=""/>
> >     </definition>
> >
> >     <definition name="/top" extends="/middleLayout">
> >       <put name="anotherBody" value="/top.jsp"/>
> >     </definition>
> >
> > The error I get on trying to display the page 'top' is:
> > ServletException in:/middle.jsp] Error - Tag Insert : No value found for
> > attribute 'anotherBody'.'
> > Thanks
> > Ian Beaumont
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to