[ 
https://issues.apache.org/jira/browse/WW-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart closed WW-4724.
-----------------------------
    Resolution: Not A Problem

> 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
>            Priority: Major
>         Attachments: actionTileResult.jsp, layout.jsp, struts-tiles.xml, 
> tiles.xml
>
>
> 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
> to reproduce invoke http://localhost:8080/showcase/tiles/index.action.
> below is  the {{tiles.xml}} , {{struts-tile.xml}} and {{layout.jsp}} as 
> below. 
> it throws 
> {noformat}
> 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 
> {noformat}
> following is the source code. 
> Layout.jsp
> {code:html}
> <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>
> {code}
> tiles.xml
> {code: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>    
> {code}
> struts-tiles.xml
> {code: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>
> {code}
> actionTileResult.jsp
> {code:html}
> <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>
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to