Vishal Jhagadiawala created WW-4724:
---------------------------------------
Summary: s:action tag with tile result causing StackOverflowError
Key: WW-4724
URL: https://issues.apache.org/jira/browse/WW-4724
Project: Struts 2
Issue Type: Bug
Components: Core Tags
Affects Versions: 2.3.30
Environment: windows 10, tomcat 7
Reporter: Vishal Jhagadiawala
struts action tag used within tiles framework
goes in recursive loop and throws StackOverflowError as below.
Opening jira ticket as it's reproduced in showcase sample application,
The same usage worked in struts 2.2.1.1
below is the tiles.xml , struts-tile.xml and layout.jsp as below.
it throws java.lang.StackOverflowError: null at
org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:230)
at
org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:230)
at
following is the source code.
Layout.jsp
<html> <head><title>Struts2 Showcase - <tiles:getAsString
name="title"/></title></head><body> <tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="body"/> <p>Notice that this is a layout made in
JSP</p> <!-- Vishal- action tag which is causing issue with tiles
result --> <s:action name="myTestAction" namespace="/tiles"
executeResult="true" /></body></html>
tiles.xml
<definition name="showcase.index" template="/WEB-INF/tiles/layout.jsp">
<put-attribute name="title" value="Tiles Showcase"/> <put-attribute
name="header" value="/WEB-INF/tiles/header.jsp"/> <put-attribute
name="body" value="/WEB-INF/tiles/body.jsp"/> </definition> <!--
Vishal-- my definition --> <definition name="showcase.index.actionResult"
template="/WEB-INF/tiles/actionTileResult.jsp"> <put-attribute
name="title" value="Tiles Result from action"/> </definition>
struts-tiles.xml
<action name="index"> <result type="tiles">showcase.index</result>
<result name="success" type="tiles">showcase.index</result>
</action>
<!-- my test action to replicate the issue --> <action
name="myTestAction"> <result
type="tiles">showcase.index.actionResult</result> <result
name="success" type="tiles">showcase.index.actionResult</result>
</action>
actionTileResult.jsp
<tiles:importAttribute name="title" scope="request"/><html>
<head><title>Action tile result <tiles:getAsString
name="title"/></title></head><body> <p>Notice that this is a
jsp</p></body></html>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)