Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: Release 1.5.6
-
Fix Version/s: Release 1.5.7, Release 1.6
-
Component/s: Tag Library
-
Labels:None
Description
I have used this pattern successfully in 1.5.3, but it fails in 1.5.6-SNAPSHOT:
Page:
<s:layout-render name="testlayout.jsp">
<s:layout-component name="pageContent">
HELLO
<s:layout-render name="testinclude.jsp">
<s:layout-component name="pageContent">
INCLUDED
</s:layout-component>
</s:layout-render>
</s:layout-component>
</s:layout-render>
testlayout.jsp:
<s:layout-definition>
LAYOUT
${pageContent}
</s:layout-definition>
testinclude.jsp:
<s:layout-definition>
INCLUDE:
${pageContent}
</s:layout-definition>
The outout I expect is:
LAYOUT HELLO INCLUDE: INCLUDED
The output I get is:
LAYOUT HELLO INCLUDE: HELLO INCLUDE: HELLO INCLUDE: ... repeated until a stack overflow
In this simple test case, renaming the included layout component fixes this problem, but in my actual case it then fails to include anything. I am not sure why that is, but suspect the cause is the same as in this simple case.
This is fixed in r1428 for 1.5.7. I have tested it against the simple case you presented here. Please test 1.5.7-SNAPSHOT in your application and let me know how it goes.