Excerpt | ||
---|---|---|
| ||
|
How do I add custom error pages?
...
There are also some other neat settings you should check out in getApplicationSettings()
, getDebugSettings()
, getExceptionSettings()
, getMarkupSettings()
, getPageSettings()
, getRequestCycleSettings()
, getSecuritySettings
and getSessionSettings()
. See the javadoc for more information.
If calling setInternalErrorPage()
, make sure to also call:
Code Block |
---|
// show internal error page rather than default developer page getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettingsExceptionSettings.SHOW_INTERNAL_ERROR_PAGE); |
...
This is assuming that you have mapped "/404" in your WebApplication:
Code Block |
---|
mount(new HybridUrlCodingStrategymountPage("/404", PageNotFound.class)); |
In your error WebPage:
Code Block |
---|
public class PageNotFound extends WebPage { private static final long serialVersionUID = 1L; public PageNotFound() { // Add any necessary components } @Override protected void configureResponse() { super.configureResponse(); getWebRequestCycle().getWebResponse().getHttpServletResponse().setStatus(HttpServletResponse.SC_NOT_FOUND); } @Override public boolean isVersioned() { return false; } @Override public boolean isErrorPage() { return true; } } |
...
Code Block |
---|
// also see AbortWithWebErrorCodeException and AbortWithHttpStatusException
throw new AbortWithHttpStatusException(404, true);
|
For wicket 6 and beyond:
Code Block |
---|
throw new AbortWithHttpErrorCodeException(404, "Some message");
|
Overriding All Error Pages for RuntimeException
...