I'm trying to do something with Tiles like this:

<definition name=".mainLayout" page="/tiles/mainLayout.jsp">
  <put name="header" value="/tiles/header.jsp">
  <put name="footer" value="/tiles/footer.jsp">
  <put name="title" value="${title}"/>
  <put name="body" value="${body}"/>
</definition>

<definition name=".nestedLayout" extends=".mainLayout">
  <put name="body" value="/tiles/nestedLayout.jsp"/>
  <put name="nestedBody" value="${nestedBody}"/>
</definition>

<definition name=".nested1" extends=".nestedLayout">
  <put name="title" value="nested page"/>
  <put name="nestedBody" value="/tiles/nested1.jsp"/>
</definition>

When ".nested1" is displayed, I see the main layout as expected, with the proper title; and nestedLayout.jsp gets included as the body. But inside nestedLayout.jsp, <tiles:get name="nestedBody"/> doesn't work.

I could always do something in mainLayout.jsp like
<tiles:importAttribute/>
<tiles:insert name="body">
  // foreach imported attribute {
    <tiles:put name="[attr name]" value="[attr value]"/>
  // }
</tiles:insert>

This works but doesn't feel right. Is there a better way to export attributes or otherwise preserve the current Tiles context through a tiles:insert or tiles:get?

-- Bill
--
Bill Schneider
Chief Architect

Vecna Technologies
5004 Lehigh Rd., Suite B
College Park, MD 20740
[EMAIL PROTECTED]
t: 301-864-7253 x1140
f: 301-699-3180


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



Reply via email to