putAttribute does not render inline dynamic content (jsp) correctly
-------------------------------------------------------------------
Key: TILES-337
URL: https://issues.apache.org/struts/browse/TILES-337
Project: Tiles
Issue Type: Bug
Affects Versions: 2.1.1
Environment: OS: windows xp
JRE 1.5.0_11-b03
Tomcat 5.5.26
Struts 2.0.11.2
Tiles 2.1.0
Reporter: ken van eyk
Placing dynamic in-line dyanmic content with the "putAttribute" tag does not
render correctly.
JRE 1.5.0_11-b03
Tomcat 5.5.26
Struts 2.0.11.2
Tiles 2.1.0
Sample Files: (NOTE: have not included taglib definitions here)
tiles.xml
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd"
>
<tiles-definitions>
<definition name="layout" template="/layout/layout.jsp" />
</tiles-definitions>
/layout/layout.jsp
---------------------
<html>
<body>
<tiles:insertAttribute name="content" />
</body>
</html>
/include/include.jsp
---------------------
<hr/>
include.jsp: param.foo=${param.foo}
</hr>
/jsp1.jsp
---------------------
<hr/>
jsp1.jsp: param.foo=${param.foo}
</hr>
<tiles:insertDefinition name="layout" >
<tiles:putAttribute name="content" cascade="true"
value="/include/include.jsp" />
</tiles:insertDefinition>
/jsp2.jsp
---------------------
<hr/>
jsp2.jsp: param.foo=${param.foo}
</hr>
<tiles:insertDefinition name="layout" >
<tiles:putAttribute name="content" cascade="true">
<jsp:include page="/include/include.jsp" />
</tiles:putAttribute>
</tiles:insertDefinition>
/jsp3.jsp
---------------------
<hr/>
jsp3.jsp: param.foo=${param.foo}
</hr>
<tiles:insertDefinition name="layout" >
<tiles:putAttribute name="content" cascade="true">
<hr/>
INLINE putAttribute: param.foo=${param.foo}
</hr>
</tiles:putAttribute>
</tiles:insertDefinition>
Use case: Post to jsp1 a couple of times with different http param values for
the parameter 'foo'. Then do the same for jsp2 and jsp3.
Results:
- jsp1.jsp renders correctly
- jsp2.jsp renders correctly
- jsp3.jsp renders incorrectly after the second or third request. Subsequent
posts result in the second param.foo value being stale (keeps a value from an
earlier http post) and not matching the first param.foo value.
I would like to in-line jsp inside the putAttribute start/end tags but it seems
to only handle dynamic content for a request or two. Is this a bug or is
in-line dynamic content not supported? It would be a shame to have to add an
extra include file for every attribute with dynamic content.
I have also tried substituting the jstl el expression in jsp3 with
<%=request.getParameter( "foo" ) %> as well as trying various values for the
putAttribute "type" attribute and got the same results.
Thanks for all the help,
Ken
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.