That resolution is only used when ActionBeanContext.getSourcePage() returns
null. You can override getSourcePage(), check for a null value from the
superclass implementation and if you get a null then do whatever you need to
do to figure out what went wrong.

-Ben

On Wed, Oct 14, 2009 at 12:21 PM, Alan Burlison <[email protected]>wrote:

> I've been looking through our app logs, and we occasionally get
> exceptions like the one below.  Unfortunately there doesn;t appear to be
> any way of tracing back from that to the page that is at fault.  Is
> there any way of extending/overriding the handling of this error to at
> least give some clue as to where to start to look?
>
> > 10/10/2009 21:22:32.527 UTC ERROR
> > java.lang.IllegalStateException: Here's how it is. Someone (quite
> possibly the Stripes Dispatcher) needed to get the source page resolution.
> But no source page was supplied in the request, and unless you override
> ActionBeanContext.getSourcePageResolution() you're going to need that value.
> When you use a <stripes:form> tag a hidden field called '_sourcePage' is
> included. If you write your own forms or links that could generate
> validation errors, you must include a value  for this parameter. This can be
> done by calling request.getServletPath().
> >         at
> net.sourceforge.stripes.action.ValidationErrorReportResolution.execute(ActionBeanContext.java:277)
> >         at
> net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:483)
> >         at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158)
> >         at
> net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java:99)
> >         at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
> >         at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113)
> >         at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
> >         at
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
> >         at
> net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:477)
> >         at
> net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:286)
> >         at
> net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:170)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >         at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> >         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
> >         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> >         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> >         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> >         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> >         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> >         at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
> >         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >         at java.lang.Thread.run(Thread.java:619)
>
> --
> Alan Burlison
> --
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Stripes-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-users
>
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to