今回からは,
業務的なアプリケーションを作っても面白くもないでしょうし,
twitter4jを使ったアプリケーションを作る
とはいえ,
次のURLから,
このアプリケーションは,
アプリケーションを起動して
このアプリケーションはWicketのサンプルとして用意したものであって,
- ※1
- このアプリケーションのログイン認証は,
TwitterのログインAPIを直接呼び出しており, アプリケーション内部にはユーザの情報を一切残しません。しかし, 本格的なTwitterアプリケーションを作成するには, OAuthによる認証をサポートするなど, より本格的な認証が必要でしょう。
フォームによる入力の受け付け
今回取り上げるのはTwitterにログインする処理です。ログイン画面は次のような非常にシンプルなものです。
非常にシンプルな画面ではありますが,
フォームの構築
ダウンロードしたプロジェクトフォルダ内の
Wicketでは,
HTMLフォーム上にあるすべての要素は,
Login.
リスト1 Formへの子コンポーネント適用
Form<Void> form = new Form<Void>("loginForm");
add(form);
TextField<String> loginNameField = new TextField<String>("loginName", new PropertyModel<String>(this, "userName"));
loginNameField.add(new PatternValidator("[a-zA-Z1-9_]*"));
loginNameField.setRequired(true);
form.add(loginNameField);
PasswordTextField passwordField = new PasswordTextField("password", new PropertyModel<String>(this, "password"));
passwordField.add(StringValidator.maximumLength(20));
passwordField.setRequired(true);
form.add(passwordField);
Loginクラスのコンストラクタ内での処理です。まず最初に,
そのあとにTextFieldというコンポーネントと,
loginNameFieldとpasswordFieldはLoginページにではなく,
もし階層を誤ると,
試しに,