You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Marc Eckart <ma...@googlemail.com> on 2010/01/05 13:53:12 UTC
S2: Problem Infinite recursion detected
Hi,
We have an action which causes an Infinite recursion detection. I
don't have any idea why this is happening. When we call the action the
first time everything is ok. But when we call this the second time we
get this exception:
05.01.2010 13:45:00 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet default threw exception
Infinite recursion detected: [/rmr/calcSumsAndSavePersonData!calcSums,
/rmr/iwa.error, /rmr/iwa.error] - [unknown location]
at com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:229)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.seb.iwa.view.sec.UserResourcesFilter.doFilter(UserResourcesFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.seb.iwa.view.user.UserInfoFilter.doFilter(UserInfoFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.seb.iwa.view.login.LoginFilter.doFilter(LoginFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.seb.portal.signature.IIWSignatureFilter.doFilter(IIWSignatureFilter.java:144)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
The ftl which causes the error when the action is triggered the second time:
<div id="jahrFormFields" class="fieldset">
<h1>Gueltigkeit</h1>
<div class="addcontent">
<label class="medium result">Jahr</label>
<@s.textfield name="privatBilanz.jahr" cssClass="small numeric
result" tabindex="10"/>
<span class="spacer"> </span>
<br />
</div>
</div>
<br />
<div id="aktivaFormFields" class="fieldset">
<h1>Aktiva</h1>
<div class="content">
<label class="medium">Immobilien</label>
<@s.textfield key="privatBilanz.summeImmobilien"
value="%{getText('format.amount',{privatBilanz.summeImmobilien})}"
cssClass="small numeric" tabindex="10"/>
<span class="euro spacer">€</span>
<br/>
</div> <!-- content -->
</div> <!-- fieldset -->
<br/>
<!-- ---------------------------------------------------------------------------
-->
<!-- Bind SaveButton with onclick
<!-- ---------------------------------------------------------------------------
-->
<@s.url id="privatBilanzUrl" action="calcSumsAndSavePersonData"
includeParams="none">
<@s.param name="target">privatBilanz</...@s.param>
</...@s.url>
<script language="JavaScript" type="text/javascript">
var saveButton = $('#saveButton');
saveButton.unbind("click");
saveButton.click(function() {
alert('${privatBilanzUrl}');
showMask('privatBilanzWF', '${privatBilanzUrl}')
});
</script>
The Javascript:
function showMask(workflowItemName, url) {
var params = $("form").serialize();
updateDiv('sitecontent', url, params);
}
function updateDiv(div, actionUrl, params) {
$('#'+div).load(actionUrl, params);
}
Struts.xml
<action name="calcSumsAndSavePersonData" method="calcSums"
class="de.seb.rmr.view.action.EditPerson">
<result name="success" type="tiles">rmr.Overview</result>
<result name="privatBilanz" type="freemarker"
>/de/seb/rmr/view/ftl/hardfacts/privatBilanz.ftl</result>
<result name="bilanzAktiva" type="freemarker"
>/de/seb/rmr/view/ftl/hardfacts/bilanzAktiva.ftl</result>
<result name="bilanzPassiva" type="freemarker"
>/de/seb/rmr/view/ftl/hardfacts/bilanzPassiva.ftl</result>
<result name="bilanzKennziffern" type="freemarker"
>/de/seb/rmr/view/ftl/hardfacts/bilanzKennziffern.ftl</result>
</action>
I have no clue. No chained actions nothing. When I trigger the action
the second time, the action is not reached anymore.
I have never seen anything like this before.
I guess it has something to do with the form data.
Anyone any idea?
/Marc
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org