There are 2 ways of doing it. 
1) Get the "pageheading" in the layout.jsp and pass it on to the header.jsp 

<tiles:insert attribute="header">
<tiles:put name="pageheading">
<tiles:getAsString name="pageheading" ignore="true"/>
</tiles:put>
</tiles:insert>

2) If you need the "pageheading" inside the heading.jsp, it's better to make 
the "header" a separate definition and use the "pageheading" directly in the 
header.jsp

<tiles-definitions>
<definition name=".mainLayout" path="/WEB-INF/tiles/layout.jsp">
<put name="title" value="Welcome to Net Model"/>
<put name="header" value=".header" type="definition"/>
<put name="sider" value="/WEB-INF/tiles/sider.jsp"/>
<put name="body" value=""/>
<put name="footer" value="/WEB-INF/tiles/footer.jsp"/>
</definition>

<definition name=".header" page="/WEB-INF/tiles/header.jsp">
<put name="pageheading" value=""/>
</definition>

<definition name=".login.header" extends=".header">
<put name="pageheading" value="Login"/>
</definition>

<definition name="index.page" extends=".mainLayout">
<put name="header" value=".login.header" type="definition"/>
<put name="body" value="/WEB-INF/tiles/user-login.jsp" type="page"/>
</definition>
</tiles-definitions>

On 9/14/05, Deepesh Nandal <[EMAIL PROTECTED]> wrote:
> 
> Hi There,
> I am stuck at one place while working with tiles, please help.
> I have my tiles-defs.xml as this:
> 
> <tiles-definitions>
> <definition name=".mainLayout" path="/WEB-INF/tiles/layout.jsp">
> <put name="title" value="Welcome to Net Model"/>
> <put name="pageheading" value=""/>
> <put name="header" value="/WEB-INF/tiles/header.jsp"/>
> <put name="sider" value="/WEB-INF/tiles/sider.jsp"/>
> <put name="body" value=""/>
> <put name="footer" value="/WEB-INF/tiles/footer.jsp"/>
> </definition>
> <definition name="index.page" extends=".mainLayout">
> <put name="pageheading" value="Login" />
> <put name="body"
> value="/WEB-INF/tiles/user-login.jsp" type="page"/>
> </definition>
> </tiles-definitions>
> 
> AND /WEB-INF/tiles/layout.jsp as this:
> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
> <html:html>
> <head> <title><tiles:getAsString name="title"/></title>
> <META http-equiv=Content-Type content="text/html; charset=UTF-8">
> <LINK href="style.css" type=text/css rel=stylesheet>
> </head>
> <body>
> <tiles:insert attribute="header" /><br>
> <tiles:insert attribute="sider" /><br>
> <tiles:insert attribute="body" /><br>
> <tiles:insert attribute="footer" />
> 
> </body>
> </html:html>
> 
> Now, I need to print the variable 'pageheading'( defined in definition 
> '.mainLayout') in "/WEB-INF/tiles/header.jsp" .
> I cannot use <tiles:getAsString name="pageheading"/> inside 
> "/WEB-INF/tiles/header.jsp" as "pageheading" is valid in
> "/WEB-INF/tiles/layout.jsp" only . So how do I pass "pageheading" from "
> index.page" to header.jsp through .mainLayout ...
> 
> Please help .....
> 
> Many Thanks,
> Deepesh Nandal.
> 
>

Reply via email to