struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vishal Jhagadiawala <vish_...@yahoo.com.INVALID>
Subject Re: action tag with tile result causing StackOverflowError-
Date Sat, 19 Nov 2016 19:55:08 GMT
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_212@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

   
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message