Java 如何在Wicket';s内部错误页
我有一个自定义的Java 如何在Wicket';s内部错误页,java,wicket,Java,Wicket,我有一个自定义的InternalErrorPage,我将其放入ApplicationSettings中,如下所示: getApplicationSettings().setInternalErrorPage(InternalErrorPage.class); getExceptionSettings().setUnexpectedExceptionDisplay( IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE); getRequestCycleSet
InternalErrorPage
,我将其放入ApplicationSettings
中,如下所示:
getApplicationSettings().setInternalErrorPage(InternalErrorPage.class);
getExceptionSettings().setUnexpectedExceptionDisplay(
IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
getRequestCycleSettings().setUnexpectedExceptionDisplay(
IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
我想在此页面上显示堆栈跟踪(当然,如果我处于开发模式)。我如何才能做到这一点?在Wicket 1.4中,您可以使用
getRequestCycle().onRuntimeException(new MyErrorPage(), theException);
请查看和以获得进一步的解释
在Wicket 1.5中,出现了onRuntimeException。相反,你可以
“将您自己的org.apache.wicket.request.cycle.IRequestCycleListener(AbstractRequestCycleListener)添加到org.apache.wicket.Application.getRequestCycleListeners().add()中,并实现其#OneException(RequestCycle,Exception)”(引自)
所以你建议把异常放在某种会话变量中?然后能够从会话中获取并在InternalErrorPage.java类中显示它?我只是想知道-也许wicket itslef已经完成了,我只需要在我自己的页面上出现这个异常不,你只需要将异常传递到你自己的错误页面。如果您遵循链接,您将看到Wicket中就是这样做的。在生产模式下向客户显示stacktrace是一种糟糕的安全做法。这就是为什么Wicket没有将异常传递到这个页面。是的,我知道,这就是为什么我只写开发模式