We're updating the issue view to help you get more done. 

Stack Overflow when using a layout with an existing component name

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.

Environment

None

Status

Assignee

BenB

Reporter

Peter Mahoney

Labels

None

Tester

None

Components

Fix versions

Affects versions

Release 1.5.6

Priority

Minor