2011-08-15 2 views
2

이전에 사용 된 4 가지 작업을 제거한 응용 프로그램의 워크 플로를 변경했습니다.코드에서 해당 작업을 참조하지 않을 때 Action을 찾을 수없는 이유는 무엇입니까?

내가 더 이상 creditcardsaved, achsaved 및 기타 몇 가지 조치를 취하지 않도록 변경되었습니다. 내 로그 파일에서

나는 다른 3 행동 같은 문제가 로그인하지 않은

 
"payment.creditcardsaved action not found" 

오류를 얻을. 내 프로젝트를 수색했는데 어디서나 creditcardsaved 작업을 참조하지 않습니다. 나는 여전히 그 템플릿을 렌더링하지만, renderTemplate ("Payment/CreditCardSaved.html", args)로 직접 렌더링한다.

는 이전 컨트롤러

public static void creditcardsaved() {} 

후 지불을 저장 creditcardsaved() 액션을 호출 public static void SaveCreditCard 저장 방법의 방법이 있었다. 어떤 견해로부터도 그 행동에 대한 언급이 없었습니다.

나는 더 이상 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 

+0

조치를 삭제 했습니까? 당신은 당신의 컨트롤러에 대한 방법을 의미합니까? 이 질문은 대답에 대한 자세한 내용이 필요합니다. 당신은 무엇부터 시작 했습니까? 뭐 했어? 너는 무엇을 기대 했는가? 정확한 오류 메시지와 그 오류가 발생한 줄은 무엇입니까? –

답변

2

경로 파일을 확인하십시오. 액션을 삭제하는 것을 잊어 버릴 수도 있습니다.

+0

내 경로 파일에 없습니다. –

+0

그런 다음 실행하기 전에 깨끗하게 재생하십시오. 그것은 또한 몇 가지 문제를 해결할 수 있습니다. 재생 증분 컴파일 나는 몇 가지 문제가 있습니다. – James

0

조회수 중 어느 것도 creditcardsaved()을 참조하지 않았는지 확인하십시오. @ {payment.creditcardsaved()}와 같은 태그를 찾습니다. 또한 Play에서 매우 유용한 점 중 하나는 브라우저에서 유용한 오류 메시지를 반환하는 것입니다. 이것이 실패한 페이지를 발견하면 올바른 방향으로 향하게 될 것입니다. 그래도 도움이 필요하면 그 정보를 게시하십시오.

관련 문제