<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4417.0">
<TITLE>RE: [opencms-dev] Bug or feature?</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Frank Wunderlich wrote:</FONT>

<BR><FONT SIZE=2>> The problem: After the inclusion of page 2, the body-content of page 1</FONT>

<BR><FONT SIZE=2>> is not </FONT>

<BR><FONT SIZE=2>> accessible anymore. Instead of showing the bodycontent of page 1, the </FONT>

<BR><FONT SIZE=2>> bodycontent of the included page is shown again.</FONT>

<BR><FONT SIZE=2>> </FONT>

<BR><FONT SIZE=2>> While the following works fine:</FONT>

<BR><FONT SIZE=2>> </FONT>

<BR><FONT SIZE=2>> <cms:include element="body" />  <%-- The correct bodycontent of page 1</FONT>

<BR><FONT SIZE=2>> is displayed --%></FONT>

<BR><FONT SIZE=2>> <% aCmsJspActionElement.include(uriOfPage2, "body"); %>  <%-- The</FONT>

<BR><FONT SIZE=2>> content of page 2 is inserted correctly --%></FONT>

<BR><FONT SIZE=2>> </FONT>

<BR><FONT SIZE=2>> </FONT>

<BR><FONT SIZE=2>> This does not lead to the expected result:</FONT>

<BR><FONT SIZE=2>> </FONT>

<BR><FONT SIZE=2>> <% aCmsJspActionElement.include(uriOfPage2, "body"); %>  <%-- The</FONT>

<BR><FONT SIZE=2>> content of page 2 is inserted correctly --%></FONT>

<BR><FONT SIZE=2>> <cms:include element="body" />  <%-- The content of the </FONT>

<BR><FONT SIZE=2>> included page 2</FONT>

<BR><FONT SIZE=2>> (and not page 1!) is shown again!! --%></FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2>Just a hunch, but it could it be that your first line, "aCmsJspActionElement.include(uriOfPage2, "body");", defines the value of element "body" and then when the cms tag displays "body" it get page2's value, not page1's (the parent page), because "body" has been set by the inclusion of page2.</FONT></P>

<P><FONT SIZE=2>This would explain why the first one works (print out page1's value for "body", then include page2 which changes the value of "body" and displays it) and the second one doesn't (page2 is included, displays its value for "body" as well as changing that value for the page, then the simple <cms:include> tag merely displays what value is set for "body", which in this case is "body" from page2).</FONT></P>

<P><FONT SIZE=2>That was really confusing, hope it makes sense.  I don't know if that's the reason, but it's my hypothesis, in which case this is a "feature". ;)</FONT></P>

<P><FONT SIZE=2>Cheers,</FONT>

<BR><FONT SIZE=2>  Stephen Scholtz</FONT>
</P>

</BODY>
</HTML>