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、title = "wicket-404-example"、width = 571、height = 299

ダウンロードする - Wicket-404-Example.zip (8KB)