SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Javaで軽快に使える「軽量フレームワーク」特集

Javaで軽快に使える「軽量フレームワーク」特集
~Apache Wicketで簡単Webアプリ作成(3)

第3回


  • X ポスト
  • このエントリーをはてなブックマークに追加

web.xmlとスタイルシートの用意

 これで必要なクラスはできました。後は、Webページ(WebPageクラスとテンプレート)を作っていくわけですが、その前に、それ以外に必要となるものを準備しておきましょう。まずはweb.xmlへの追記です。

<filter>
    <filter-name>wickletFilter</filter-name>
    <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
    <init-param>
        <param-name>applicationClassName</param-name>
        <param-value>jp.tuyano.AuthApp</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>wickletFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 <web-app>にこのようにタグを追記しておきます。applicationClassNameには、jp.tuyano.AuthAppを指定しておきます。続いて、各ページの表示に統一感を持たせるため、スタイルシートを作成しておきましょう。

body {
    background-color: #FFF0FF;
    font-size: 10pt;
    color: #000099;
}
h1 {
    background-color: #CCAAFF;
    border-style: none none solid solid;
    border-width: 0px 0px 2px 5px;
    padding: 1px 5px 1px 5px;
    font-size: 12pt;
    color: #330000;
}
p {
    font-size: 10pt;
    color: #606060;
}

 これは「WebContent」内に「style.css」というファイル名で用意します。WebページのテンプレートなどはJavaのクラスと同じパッケージ内におきますが、スタイルシートのように、ページ内にリンクしておく静的ファイルは、そのままWebContentに作成しておけば、そのまま利用できます。イメージファイルなどの類いも同様に考えていいでしょう。

ログインページの作成

 では、Webページを作成しましょう。まずは、ログインページからです。ここでは「AuthSignInPage」という名前で用意しましょう。まずはテンプレートです。jp.tuyanoパッケージに「AuthSignInPage.html」というファイル名で用意します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type"
            content="text/html; charset=utf-8">
        <title>Sign in</title>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
        <h1>Sign in Page.</h1>
        <p>※ユーザー名とパスワードを入力してください。</p>
        <table border="1">
            <tr><td wicket:id="signInPanel"></td></tr>
        </table>
    </body>
</html>

 ここでは、wicket:id="signInPanel"を指定したタグがあるだけで、フォームなどの類いはまったくありません。実は、wicket-auth-rolesには、ログインページがあらかじめ用意されており、それを利用することでまったくインターフェースなどを作成することなくページが作れるのです。続いて「AuthSignInPage.java」のソースコードもあげておきましょう。

package jp.tuyano;

import org.apache.wicket.authentication.pages.SignInPage;

public class AuthSignInPage extends SignInPage {

    public AuthSignInPage(){}
}

 こちらも、ただクラスを定義しておくだけで、何も内容はありません。通常、WebページはWebPageクラスを継承して作成しますが、ログインページはSignInPageを継承します。こうするだけで、自動的にwicket:id="signInPanel"のタグにログインのパネルをはめ込み、ログインのための処理が使えるようになるのです。

 このAuthSignInPageは、ユーザー名とパスワード、それに「ユーザー名を記憶する」というチェックボックスのあるフォームを自動生成して表示します。またパスワードが空だとメッセージが表示されたり、ユーザー名が不正だと再入力となるなど基本的なバリデーション機能も備えています。

AuthSignInPageの表示。このようなログインフォームが自動生成される
AuthSignInPageの表示。このようなログインフォームが自動生成される

次のページ
ログアウトページの作成

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4461 2009/12/22 09:15

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング