And please use a proper name Struts, there is no Struct. pt., 9 wrz 2022 o 12:48 Łukasz Lenart <lukasz.len...@gmail.com> napisał(a): > > Would you mind using some proper encoding? Your message is mess :\ > Have you tried to use 2.5 and then switch version by version? Also do > you use the Convention plugin? > > Regards > Łukasz > > pt., 9 wrz 2022 o 12:41 wwyyzz_001 <517654...@qq.com.invalid> napisał(a): > > > > In Struct 2.3.34,when namespase="" is default namespase. > > If invoke http://localhost:8080/wisdomcampus-gs/user/login,because /user > > not define,Struct find action in default namespase,so everythiong is ok. > > > > > > But In Struct 2.5.30,config(struts.xml) is not change,invoke > > http://localhost:8080/wisdomcampus-gs/user/login, return error: No result > > defined for action wisdom.user.action.LoginAction and result success. > > Find action was invoked in log,but not found result,so Struct throw > > exception in > > DefaultActionInvocation.executeResult(DefaultActionInvocation.java:377) > > 1.executeResult source code: > > private void executeResult() throws Exception { > > result = createResult(); > > > > > > String timerKey = "executeResult: " + > > getResultCode(); > > try { > > UtilTimerStack.push(timerKey); > > if (result != null) { > > > > result.execute(this); > > } else if (resultCode != null > > && !Action.NONE.equals(resultCode)) { > > throw new > > ConfigurationException("No result defined for action " + > > getAction().getClass().getName() > > > > + " and result " + getResultCode(), proxy.getConfig()); > > } else { > > if > > (LOG.isDebugEnabled()) { > > > > LOG.debug("No result returned for action {} at {}", > > getAction().getClass().getName(), proxy.getConfig().getLocation()); > > } > > } > > } finally { > > UtilTimerStack.pop(timerKey); > > } > > } > > > > > > > > 2.Struct console log: > > 2022-09-09 18:32:16 [http-nio-8080-exec-1] DEBUG SecurityMemberAccess:67 - > > Checking access for [target: wisdom.user.action.LoginAction@3fd415d2, > > member: public > > final java.lang.String wisdom.common.JsonActionBase.execute() throws > > java.lang.Exception, property: null] > > 2022-09-09 18:32:16 [http-nio-8080-exec-1] DEBUG > > InstantiatingNullHandler:98 - Entering nullPropertyValue > > [target=[wisdom.user.action.LoginAction@3fd415d2, com. > > opensymphony.xwork2.DefaultTextProvider@e405047], property=locale] > > 2022-09-09 18:32:16 [http-nio-8080-exec-1] DEBUG I18nInterceptor:124 - > > After action invocation Locale=null > > 2022-09-09 18:32:16 [http-nio-8080-exec-1] WARN Dispatcher:613 - > > Could not find action or result: /wisdomcampus-gs/login > > com.opensymphony.xwork2.config.ConfigurationException: No result defined > > for action wisdom.user.action.LoginAction and result success > > at > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:377) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:250) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:142) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:140) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:140) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:201) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:160) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:121) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:167) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:228) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) > > ~[struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574) > > [struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) > > [struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141) > > [struts2-core-2.5.30.jar:2.5.30] > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1230) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) > > [catalina.jar:8.5.61] > > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > > [catalina.jar:8.5.61] > > at > > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) > > [tomcat-coyote.jar:8.5.61] > > at > > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) > > [tomcat-coyote.jar:8.5.61] > > at > > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) > > [tomcat-coyote.jar:8.5.61] > > at > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634) > > [tomcat-coyote.jar:8.5.61] > > at > > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > > [tomcat-coyote.jar:8.5.61] > > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > > [?:1.8.0_181] > > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > > [?:1.8.0_181] > > at > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > [tomcat-util.jar:8.5.61] > > at java.lang.Thread.run(Thread.java:748) > > [?:1.8.0_181] > > > > ------------------ 原始邮件 ------------------ > > 发件人: > > "Struts Users Mailing List" > > > > <lukaszlen...@apache.org>; > > 发送时间: 2022年9月9日(星期五) 中午1:41 > > 收件人: "Struts Users Mailing List"<user@struts.apache.org>; > > > > 主题: Re: When Struct 2.3.34 update Struct 2.5.30,the original interface > > cannot be accessed > > > > > > > > As far I see you have defined "/login" action under default namespace > > "/" and you don't have namespace called "/user" - which means is > > working according to the config. > > > > https://issues.apache.org/jira/secure/attachment/13049087/struts.xml > > https://issues.apache.org/jira/browse/WW-5222 > > > > > > Regards > > -- > > Łukasz > > + 48 606 323 122 http://www.lenart.org.pl/ > > > > pt., 9 wrz 2022 o 04:06 wwyyzz_001 <517654...@qq.com.invalid> napisał(a): > > > > > > Dear all: > > > > > > Use Struct 2.3.34,one interface can invoke by two ways,example: > > > > > > http://localhost:8080/wisdomcampus-gs/login&nbsp; can invoke, the > > interface can also be called under the subdirectory, > > > > > > http://localhost:8080/wisdomcampus-gs/user/login&nbsp;can > > invoke,result is same. > > > > > > Use Struct 2.5.30,one interface only invoke by one way, example: > > > > > > http://localhost:8080/wisdomcampus-gs/login&nbsp; can invoke, the > > interface can't&nbsp; be called under the subdirectory, > > > > > > http://localhost:8080/wisdomcampus-gs/user/login&nbsp;can't > > &nbsp;invoke, return error: No result defined for action > > wisdom.user.action.LoginAction and result success. > > > > > > > > > > > > > > > Why? How to config in Struct 2.5.30, can realization same > > result&nbsp; in Struct 2.3.34?&nbsp; &nbsp; > > > > > > Look forward to your reply,&nbsp; &nbsp;thank you! > > > > > > > > > > > > > > > Mark wang > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > > For additional commands, e-mail: user-h...@struts.apache.org
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org