始终建议为“ 404页面未找到”错误自定义一个不错的错误页面。 本指南向您展示如何在Wicket中配置404错误页面。
1.错误页面
为Wicket创建错误页面和类。
package com.mkyong.user;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
public class ErrorPage404 extends WebPage {
public ErrorPage404(final PageParameters parameters) {
add(new Label("404", "Page Not Found!"));
}
}
<html>
<body>
<h1>Wicket Error 404 example</h1>
<h1><span wicket:id="404"></span></h1>
</body>
</html>
2.将404放入web.xml
在web.xml文件中指定“ 404错误代码”,将常见的“ 404错误”路由到检票口的“ / error404”文件路径。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app ...>
<filter>
<filter-name>wicket.wicketTest</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>com.mkyong.WicketApplication</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>wicket.wicketTest</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<error-page>
<error-code>404</error-code>
<location>/error404</location>
</error-page>
</web-app>
注意
调度程序标记“REQUEST
”和“ERROR
”都是必需的。
3.将错误匹配到页面
在Wicket应用程序中,覆盖init() ,将“ / error404 ”匹配到错误页面“ ErrorPage404.html ”。
public class WicketApplication extends WebApplication {
@Override
protected void init() {
mount(new QueryStringUrlCodingStrategy("error404",ErrorPage404.class));
}
}
4.演示
完成,现在所有未找到的URL,“ 404页面未找到”错误,将重定向到“ / error404”,而“ / error404”将显示“ ErrorPage404.html”文件
图片:如果未找到URL(404),则显示您的自定义错误页面。
下载它– Wicket-404-Example.zip (8KB)
翻译自: https://mkyong.com/wicket/how-do-configure-404-error-page-in-wicket-solution/