Hi Christoph,
Please find my response below.
Here is my actionTileResult.jsp (it is for test)
----actionResult.jsp
This is text :
<p>
<tiles:insertAttribute name="title"/>
</p>
- how should showcase.index.actionResult and showcase.index belong to each
other? showcase.index is a global layout, and there are dynamic pages based
on action outcome eg . showcase.index.actionResult will be included in the
global layout
- shouldn't showcase.index.actionResult set the body attribute? currently to
reproduce the issue, I have used title attribute, but we tile definition can be
more specific based on need
- why is there an <s:action> tag in layout.jsp? this is to include
dynamic result based on outcome of the action logic.
Regards,
Vishal
On Monday, 21 November 2016, 4:19, Christoph Nenning
<[email protected]> wrote:
Hi,
some questions about your code snippets:
- how does actionResult.jsp look?
- how should showcase.index.actionResult and showcase.index belong to each
other?
- shouldn't showcase.index.actionResult set the body attribute?
- why is there an <s:action> tag in layout.jsp?
Regards,
Christoph
> From: Vishal Jhagadiawala <[email protected]>
> To: Struts Users Mailing List <[email protected]>,
> Date: 19.11.2016 20:55
> Subject: Re: action tag with tile result causing StackOverflowError-
>
> 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
> <[email protected]> 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
>
>
This Email was scanned by Sophos Anti Virus