Hi Chris,

what about
<c:if test="${empty header}">
   <c:set var="header">Default Header</c:set>
</c:if>
?

On Tue, Feb 23, 2010 at 8:50 PM,  <[email protected]> wrote:
> I'm trying to create a nested layout structure using the Stripes layout
> tags, and am running into a problem.
>
> My goal is to have the following:
> 1. A master layout definition (layout.jsp) that defines the main layout
> (header, body, footer). Here, the header, and footer contents are given
> default values.
> 2. A sub-layout definition (layoutWithMenu.jsp) extends layout.jsp, and
> decorates the body content by adding a menu at the top.
> 3. Be able to create renderer pages that can extend either of the layouts
> above, be able to override any of the layout-components that they choose,
> and also to be able to re-use default content that has been specified by the
> layout definition(s) when overriding is not necessary.
>
> In my example files below, pageA.jsp and pageB.jsp are the renderer pages.
> They both specify layoutWithMenu.jsp as their layout definition.
> LayoutWithMenu.jsp in turn specifies layout.jsp as its layout definition.
>
> Within pageA.jsp, I want to be able to override content for layout-component
> "header". But I want to make sure that the default content for "footer" is
> still rendered and not overridden.
>
> Within pageB.jsp, I want to be able to override the layout-component
> "footer" and let the default content render for "header".
>
> I can't find a way to conditionally pass the overridden layout-components
> through layoutWithMenu.jsp only when content has actually been specified by
> the renderer page. When always passing through all layout-components, the
> components that are not actually overridden are blanked out (I guess they
> are overridden by a null value?).
>
>
>
> Here are my files:
>
> (layout.jsp)
> <c:set var="header">
>     Default header
> </c:set>
> <c:set var="footer">
>         Default Footer
> </c:set>
> <stripes:layout-definition>
>     <html>
>         </head>
>         <body>
>             ${header}
>             <div>${body}</div>
>             ${footer}
>         </body>
>     </html>
> </stripes:layout-definition>
>
>
> (layoutWithMenu.jsp)
> <stripes:layout-definition>
>     <stripes:layout-render name="/WEB-INF/jsp/templates/layout.jsp"
>             title="${title}"
>             header="${header}"
>             footer="${footer}">
>
>         <stripes:layout-component name="body">
>             <div class="menu">
>                 <span class="menu-item">
>                     <stripes:link beanclass="com.MyActionBean"
> event="myEvent1">Menu 1</stripes:link>
>                 </span>
>                 <span>|</span>
>                 <span class="menu-item">
>                     <stripes:link beanclass="com.MyActionBean"
> event="myEvent2">Menu 2</stripes:link>
>                 </span>
>             </div>
>             ${body}
>         </stripes:layout-component>
>     </stripes:layout-render>
> </stripes:layout-definition>
>
>
> (pageA.jsp)
> <stripes:layout-render name="/WEB-INF/jsp/templates/layoutWithMenu.jsp"
> title="Page A Title">
>     <stripes:layout-component name="header">
>        Page A Header
>     </stripes:layout-component>
>
>     <stripes:layout-component name="body">
>         Page A Body
>     </stripes:layout-component>
> </stripes:layout-render>
>
> (pageB.jsp)
> <stripes:layout-render name="/WEB-INF/jsp/templates/layoutWithMenu.jsp"
> title="Page B Title">
>     <stripes:layout-component name="footer">
>        Page B footer
>     </stripes:layout-component>
>
>     <stripes:layout-component name="body">
>         Page B body
>     </stripes:layout-component>
> </stripes:layout-render>
>
>
> -Chris *************************** IMPORTANT
> NOTE*****************************-- The opinions expressed in this message
> and/or any attachments are those of the author and not necessarily those of
> Brown Brothers Harriman & Co., its subsidiaries and affiliates ("BBH").
> There is no guarantee that this message is either private or confidential,
> and it may have been altered by unauthorized sources without your or our
> knowledge. Nothing in the message is capable or intended to create any
> legally binding obligations on either party and it is not intended to
> provide legal advice. BBH accepts no responsibility for loss or damage from
> its use, including damage from virus.
> ********************************************************************************
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Stripes-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-users
>
>



-- 
Richard Hauswald
Blog: http://tnfstacc.blogspot.com/
LinkedIn: http://www.linkedin.com/in/richardhauswald
Xing: http://www.xing.com/profile/Richard_Hauswald

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to