Wicketで404エラーページを設定する
“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に入れる
<?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()
を無効にし、エラーページ ”
ErrorPage404.html
“に ”
/error404
“を一致させます。
public class WicketApplication extends WebApplication { @Override protected void init() { mount(new QueryStringUrlCodingStrategy("error404",ErrorPage404.class)); } }
4.デモ
完了していないURL、「404ページが見つかりません」エラー、「/error404」にリダイレクト、「/error404」に「ErrorPage404.html」ファイルが表示されます
__Figure:URLが見つからない場合(404)、カスタムエラーページを表示します。
ダウンロードする –
Wicket-404-Example.zip
(8KB)