gpt4 book ai didi

error-handling - 在Struts 2中找不到 Action 时如何处理404错误

转载 作者:行者123 更新时间:2023-12-03 07:43:30 25 4
gpt4 key购买 nike

在Struts2中,如果找不到 Action ,我想重定向到404.jsp页面
我在web.xml文件中添加了错误代码,如下所示。

<error-page>
<error-code>403</error-code>
<location>/403.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>

它呈现了 404.jsp页面的内容,但是在下面的日志中出现错误。
如何清除以下错误
2014-04-07 14:07:46,706  WARN (org.apache.struts2.dispatcher.Dispatcher:64) - Could not find action or result: /struts2-test/home11
There is no Action mapped for namespace [/] and action name [home11] associated with context path [/struts2-test]. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

最佳答案

如果将应用程序配置为在struts.devMode中运行,则在渲染JSP页面时,如果在运行时配置中未发现任何 Action ,则Struts 2框架会产生警告。它可以帮助开发人员解决Struts标记中不适当的 Action 映射。但是, Action 映射并非总是静态地推断,而是在运行时推断。因此,标签应该能够从值堆栈中的属性中查找映射。但是struts标记仅在操作上下文中执行,当您从错误页面重定向时,该上下文将不可用。确保您具有重定向到Struts操作时正确的URL。

关于error-handling - 在Struts 2中找不到 Action 时如何处理404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22880028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com