Hi ,
I also verified the exactly same error happens in struts 2.5.5 with tiles 3.0.7.
if we try to use action tag as below with tiles result it's goes in infinite 
loop and throws it throws java.lang.StackOverflowError,
<s:action name="myTestAction" namespace="/tiles" executeResult="true"/>

--------Layout.jsp 
<body>    <tiles:insertAttribute name="header"/>    <tiles:insertAttribute 
name="body"/> <p>Notice that this is a layout made in JSP</p>       <!-- issue 
with the action -->   <s:action name="myTestAction" namespace="/tiles" 
executeResult="true"/></body></html>

------------- struts.xml   <action name="myTestAction">            <result 
type="tiles">showcase.index.actionResult</result>            <result 
name="success" type="tiles">showcase.index.actionResult</result>   </action>    
    ------------------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>
<definition name="showcase.index.actionResult" 
template="/WEB-INF/tiles/actionResult.jsp">        <put-attribute name="title" 
value="Action Result"/></definition>

 Let me know if somebody faced same issue. 
Regards,Vishal

    On Saturday, 19 November 2016, 10:28, Vishal Jhagadiawala 
<vish_...@yahoo.com.INVALID> wrote:
 

 Hi ,
I have upgraded my struts application to version 2.3.30 and apache-tiles 2.2.2 
and I am facing issue with s:action tag and tiles result. it goes in recursive 
loop and throws StackOverflowError as below. 
also I am able to reproduce this issue in showcase application, I have outlined 
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 
org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:230)
 at 
org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:230)
 .................. (truncated) .................        at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
 at 
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
 at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
 at 
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
 at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
 at 
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) at 
org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:288)
 at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:172) 
at 
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
 at 
org.apache.jsp.WEB_002dINF.tiles.layout_jsp._jspx_meth_s_005faction_005f0(layout_jsp.java:210)
 at org.apache.jsp.WEB_002dINF.tiles.layout_jsp._jspService(layout_jsp.java:109)

Here is my usage, 
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>


Please let me know anybody faced similar issue and any solution to it.
Regards,Vishal

   

Reply via email to