That did it.  Boy, that's a lot of code, two definitions for each level of
the tree seems a bit extreme.  And I still don't understand why one <put>
and one <putList> worked while the other <put> didn't, but it seems to be
working now, so thanks for the help.
 (*Chris*)

On 10/16/06, Antonio Petrelli <[EMAIL PROTECTED]> wrote:

Chris Pratt ha scritto:
> I'm seeing some weird behavior with my tiles definitions that I can't
> explain and I was hoping someone smarter than me could lend an eye.
> Here's
> an excerpt from my tiles-defs.xml:
>
>  <definition name="default.pane" extends="site.layout">
>    <put name="body" value="default.layout" type="definition"/>
>  </definition>
>
>  <definition name="default.layout" path="default-layout.jsp">
>    <put name="bluearea" value="/tiles/blank.jsp" type="page"/>
>    <put name="whitearea" value="/tiles/blank.jsp" type="page"/>
>    <putList name="breadcrumbs">
>      <add value="/|head.home" type="string"/>
>    </putList>
>  </definition>
>
>  <definition name="login.error" extends="default.pane">
>    <put name="pagetitle" value="members" type="string"/>
>    <put name="bluearea" value="/tiles/login-error.jsp" type="page"/>
>    <putList name="breadcrumbs">
>      <add value="/|head.home" type="string"/>
>      <add value="/home|members" type="string"/>
>      <add value="Sign-On Unsuccessful" type="string"/>
>    </putList>
>  </definition>
>

Err... <put> tags fill attributes only in the first level: in your
"login.error" definition you are extending "default.pane" definition,
using "default.pane"'s layout page and not "default-layout.jsp"! Anyway
you can rewrite your code this way:

<definition name="default.pane" extends="site.layout">
   <put name="body" value="default.layout" type="definition"/>
</definition>

<definition name="default.layout" path="default-layout.jsp">
   <put name="bluearea" value="/tiles/blank.jsp" type="page"/>
   <put name="whitearea" value="/tiles/blank.jsp" type="page"/>
   <putList name="breadcrumbs">
     <add value="/|head.home" type="string"/>
   </putList>
</definition>

<definition name="login.error.body" extends="default.layout">
   <put name="pagetitle" value="members" type="string"/>
   <put name="bluearea" value="/tiles/login-error.jsp" type="page"/>
   <putList name="breadcrumbs">
     <add value="/|head.home" type="string"/>
     <add value="/home|members" type="string"/>
     <add value="Sign-On Unsuccessful" type="string"/>
   </putList>
</definition>

<definition name="login.error" extends="default.pane">
   <put name="body" value="login.error.body" type="definition"/>
</definition>

HTH
Antonio

P.S. In Tiles 2 I posted a patch to support nested definitions, but in a
slightly different way.
http://issues.apache.org/struts/browse/SB-29

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


Reply via email to