在ssh项目中出现下列问题,望高手解答下Infinite recursion detected: [demo/registerSubmit!execute, demo/Page, demo/Page] - [unknown location]
com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:203)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.chinacent.common.struts2.interceptor.UrlInterceptor.doIntercept(UrlInterceptor.java:96)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.chinacent.common.struts2.interceptor.DomainNameInterceptor.doIntercept(DomainNameInterceptor.java:24)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:222)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.chinacent.common.struts2.interceptor.UrlInterceptor.doIntercept(UrlInterceptor.java:96)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.chinacent.common.struts2.interceptor.DomainNameInterceptor.doIntercept(DomainNameInterceptor.java:24)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
相关文件信息如下:struts.xml:<package name="core.front.dynamic" namespace="" extends="core-default">
<action name="**" class="core.dynamicSystemAct">
<result type="chain">
<param name="namespace">${namespace}</param>
<param name="actionName">${actionName}</param>
</result>
<interceptor-ref name="domain"/>
<interceptor-ref name="url"/>
</action>

</package>
dynamicSystemAct.class: public String execute() throws Exception {
Website web = webSiteMng.getWebsite(domainName);
System.out.println(web.getDomain());
if(web == null){
web = webSiteMng.getByAlias(domainName); 
if(web != null){
redirectUrl = web.getWebUrl();
return Constants.REDIRECT;
}else{
return Constants.WEBSITE_NOT_FOUND;
}
}
String sys =web.getCurrentSystem();
namespace = sys;
actionName = "Page";
return SUCCESS;
}出现了递归错误,请高手明示

解决方案 »

  1.   

    com.chinacent.common.struts2.interceptor.UrlInterceptor.doIntercept:这里面调了Webserive服务端方法?先检查服务端是否正常写个Main的class先测试一下
      

  2.   


    这里边没有调用,当程序运行第一遍时所获值及参数都正常,当通过拦截器,进入action后正常执行,最后result的时候又重新跳入此拦截器及action,参数发生变化,出现此错误,本来应该跳到其他action的