In Tiles, you can put attributes only into layout pages. In short terms you should modify your tiles-defs.xml this way:
<definition name="header.with.title" path="/header.jsp"> <put name="pageTitle" value="Welcome" /> </definition> <definition name="base.definition" path="/layout.jsp"> <put name="leftNav" value="/leftNav.jsp" /> <put name="footer" value="/footer.jsp" /> </definition> <definition name="page.home" extends="base.definition"> <put name="header" value="header.with.title" /> <put name="body" value="/home.jsp" /> </definition> Ciao Antonio Petrelli Neil Aggarwal wrote: >Hello: > >I am a newbie to struts and am trying to get a handle on >tiles:getAsString tag. I am having a problem in >that is complains that the attribute I am trying to >get does not exist. > >Here is what I have in my tiles-defs.xml: > ><tiles-definitions> > <!-- Base Tiles Definition --> > <definition name="base.definition" path="/layout.jsp"> > <put name="leftNav" value="/leftNav.jsp" /> > <put name="header" value="/header.jsp" /> > <put name="footer" value="/footer.jsp" /> > </definition> > > <!-- Tiles definition of home page --> > <definition name="page.home" extends="base.definition"> > <put name="pageTitle" value="Welcome" /> > <put name="body" value="/home.jsp" /> > </definition> ></tiles-definitions> > >I have an index.jsp that loads the page.home defintion: ><[EMAIL PROTECTED] uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> ><tiles:insert definition="page.home" /> > >Here is the layout.jsp (trimmed): ><[EMAIL PROTECTED] language="java" %> ><[EMAIL PROTECTED] file="/imports.jsp" %> ><[EMAIL PROTECTED] uri="http://jakarta.apache.org/struts/tags-html" >prefix="html" %> ><[EMAIL PROTECTED] uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" >%> > ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > ><html:html locale="true"> > <body background="/images/pageBackground.gif"> > <table border="0" width="100%" cellspacing="0" cellpadding="0"> > <tr> > <td align="right" valign="top" width="150"><tiles:insert >attribute="leftNav" /></td> > <td valign="top"><html:img border="0" height="700" >src="/images/transparent1x1.gif" width="10" /></td> > <td align="left" valign="top"><tiles:insert attribute="header" >/><tiles:insert attribute="body" /><tiles:insert attribute="footer" /></td> > </tr> > </table> > </body> ></html:html> > >Here is the header.jsp (trimmed): ><[EMAIL PROTECTED] language="java" %> ><[EMAIL PROTECTED] file="/imports.jsp" %> ><[EMAIL PROTECTED] uri="http://jakarta.apache.org/struts/tags-html" >prefix="html" %> ><[EMAIL PROTECTED] uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" >%> > ><table> > <tr> > <td class="pageTitle"><tiles:getAsString name="pageTitle" /></td> > </tr> > >When I try to load the page (You can see what I have at >http://dev.crcbusinessservices.com/crcgroup/index.jsp) > >I get this error in the tomcat log: >SEVERE: ServletException in '/layout.jsp': >ServletException in '/header.jsp': >Error - tag.getAsString : >attribute 'pageTitle' not found in context. Check tag syntax > >Any ideas? > >Thanks, > Neil > >-- >Neil Aggarwal, JAMM Consulting, (972)612-6056, www.JAMMConsulting.com >FREE! Valuable info on how your business can reduce operating costs by >17% or more in 6 months or less! http://newsletter.JAMMConsulting.com > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]