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]>