What doesn't work in your example is that at a time you insert page /middle.jsp without passing it any attribute. This page use an attribute in its tag. You have two solution to pass the attribute : * while you do the : middle.jsp <%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %> * By defining a definition declaring the attribute, and then use the definition name rather than the page url. Remember that Tiles attribute values passed to a tile are only visible inside this tile, not from its parent, neither from sub-tiles. Doesn't the following solution met your needs ? : Cedric Ian Beaumont wrote: > >> 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 > > I'm not clear what you mean by either of these statements. > > What I want to achieve is for all my pages to have a base layout, and some > of the pages have a slightly more complex layout, which itself is based on > the base layout. > > Thanks > Ian > > -----Original Message----- > From: Cedric Dumoulin [mailto:cedric.dumoulin@lifl.fr] > Sent: 22 February 2002 14:08 > To: Struts Users Mailing List > Subject: Re: Nesting Tiles within each other problem > > In your example, you insert definition /top, which by extensions use > 'base.jsp' as layout. In this later, you do . > Body > value is page /middle.jsp, wich is inserted. But, /midle.jsp is a page, not > a > definition. In /midle.jsp, you do , 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. > > > > > type="com.categoric.criticallogistix.client.DoFirst" > > scope="request" > > > > > > > > > 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:cedric.dumoulin@lifl.fr] > > 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 , or as the path of a > Struts > > forward. > > > > Ian Beaumont wrote: > > > > > I have a page, which uses to insert another page that > also > > > has a . 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" %> > > > > > > > > > > > > > > > > > > > > > middle.jsp > > > <%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %> > > > > > > > > > top.jsp > > >

Hello World

> > > > > > >From tiles 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: > > > > For additional commands, e-mail: > > > > -- > To unsubscribe, e-mail: > > For additional commands, e-mail: > -- To unsubscribe, e-mail: For additional commands, e-mail: