Java 当代码未引用操作时,为什么找不到操作?
我更改了应用程序的工作流,删除了以前使用过的4个操作 我进行了更改,不再保存creditcardsaved、achsaved和其他一些操作 在我的日志文件中,我得到了错误 "payment.creditcardsaved action not found" 保存方法Java 当代码未引用操作时,为什么找不到操作?,java,playframework,Java,Playframework,我更改了应用程序的工作流,删除了以前使用过的4个操作 我进行了更改,不再保存creditcardsaved、achsaved和其他一些操作 在我的日志文件中,我得到了错误 "payment.creditcardsaved action not found" 保存方法public static void SaveCreditCard保存了付款,然后调用creditcardsaved()操作。从任何角度看都没有提及该行动 我不再希望对creditcardsaved()执行单独的操作,我不希望它显示在
public static void SaveCreditCard
保存了付款,然后调用creditcardsaved()操作。从任何角度看都没有提及该行动
我不再希望对creditcardsaved()执行单独的操作,我不希望它显示在url中
因此,我没有在SaveCreditCard方法的末尾调用它,而是改为renderTemplate(“Payment/CreditCardSaved.html”,args)
屏幕上的输出将与之前的输出相匹配,但url应为SaveCreditCard。我还删除了creditcardsaved()方法,因此不会从任何地方意外调用它
错误的错误完整堆栈跟踪为
ERROR play -
@67bi2d4oj
payment.creditcardsaved action not found
Action not found
Action payment.creditcardsaved could not be found. Error raised is No method public static void creditcardsaved() was found in class controllers.payment
play.exceptions.ActionNotFoundException: Action payment.creditcardsaved not found
at play.mvc.ActionInvoker.getActionMethod(ActionInvoker.java:447)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:76)
at play.server.ServletWrapper$ServletInvocation.execute(ServletWrapper.java:472)
at play.Invoker$Invocation.run(Invoker.java:187)
at play.server.ServletWrapper$ServletInvocation.run(ServletWrapper.java:463)
at play.Invoker.invokeInThread(Invoker.java:61)
at play.server.ServletWrapper.service(ServletWrapper.java:113)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3826)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1016)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:639)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1772)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
Caused by: java.lang.Exception: No method public static void creditcardsaved() was found in class controllers.payment
... 32 more
错误播放-
@67bi2d4oj
找不到payment.creditcardsaved操作
找不到操作
找不到Action payment.creditcardsaved。引发的错误是在类controllers.payment中找不到方法public static void creditcardsaved()
play.exceptions.ActionNotFoundException:Action payment.creditcardsaved未找到
at play.mvc.ActionInvoker.getActionMethod(ActionInvoker.java:447)
atplay.mvc.ActionInvoker.invoke(ActionInvoker.java:76)
atplay.server.ServletWrapper$ServletInvocation.execute(ServletWrapper.java:472)
Invoker$Invocation.run(Invoker.java:187)
at play.server.ServletWrapper$ServletInvocation.run(ServletWrapper.java:463)
Invoker.invokeInThread(Invoker.java:61)
at play.server.ServletWrapper.service(ServletWrapper.java:113)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:939)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:502)
位于com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.HandlerRequest(ServletWrapperImpl.java:179)
位于com.ibm.ws.webcontainer.webapp.webapp.handleRequest(webapp.java:3826)
位于com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
位于com.ibm.ws.webcontainer.webcontainer.handleRequest(webcontainer.java:931)
位于com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
位于com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)上
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275)
位于com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determinationextchannel(SSLConnectionLink.java:1016)
位于com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:639)
位于com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1772)
在com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted上(AioReadCompletionListener.java:165)
位于com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
位于com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
位于com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
位于com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
位于com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
位于com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
位于com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
原因:java.lang.Exception:在类controllers.payment中找不到方法public static void creditcardsaved()
... 32多
检查您的路由文件。您可能会忘记删除其中的操作。请确保您的视图也没有引用creditcardsaved()。查找像@{payment.creditcardsaved()}这样的标记。此外,Play非常擅长的一件事是在浏览器中返回有用的错误消息。如果你能找到这是失败的网页,它会告诉你正确的方向。如果您仍然需要帮助,也可以发布该信息。是否删除了某个操作?你是说控制器上的方法?这个问题需要更多的细节才能得到很好的回答。你是从什么开始的?你做了什么?你期待什么?确切的错误消息是什么,以及它死在哪一行?然后在运行它之前一定要玩干净。它还可以解决一些问题。我想玩增量编译有一些问题。 ERROR play - @67bi2d4oj payment.creditcardsaved action not found Action not found Action payment.creditcardsaved could not be found. Error raised is No method public static void creditcardsaved() was found in class controllers.payment play.exceptions.ActionNotFoundException: Action payment.creditcardsaved not found at play.mvc.ActionInvoker.getActionMethod(ActionInvoker.java:447) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:76) at play.server.ServletWrapper$ServletInvocation.execute(ServletWrapper.java:472) at play.Invoker$Invocation.run(Invoker.java:187) at play.server.ServletWrapper$ServletInvocation.run(ServletWrapper.java:463) at play.Invoker.invokeInThread(Invoker.java:61) at play.server.ServletWrapper.service(ServletWrapper.java:113) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3826) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1016) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:639) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1772) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563) Caused by: java.lang.Exception: No method public static void creditcardsaved() was found in class controllers.payment ... 32 more