チュートリアル2(スケルトンソース)

まずはスケルトンを生成します。パッケージ名は tutorial2、コンテキストパスも tutorial2 とします。

logicクラス一覧
No  モックアップファイル名 ページタイトル クラス名 PageID 実行時URL
※getAliasURI()が優先されます。
特記
1 /menu.html メニュー tutorial2.logic.MenuHtml tutorial2.base.PageType.
MENU_HTML
on.svvxoa.na  
2 user/edit.html 編集 tutorial2.logic.user.EditHtml tutorial2.base.PageType.
USER_EDIT_HTML
on.b18bs1.na name=sexのタグは配列化されました。
3 user/seek.html ユーザー一覧 tutorial2.logic.user.SeekHtml tutorial2.base.PageType.
USER_SEEK_HTML
on.xjmhm9.na  

除外ファイル一覧
No モックアップファイル名 解決パス
1 image/wallpaper.gif .//image/wallpaper.gif

サブディレクトリの扱い

今回は user と image というサブディレクトリがありますが、 URL パスは以下のようになります。

  • logicクラスは平置きとなる。
    例えば、user/seek.html に相当するページをtomcatからアクセスする場合は、
    http://localhost:8080/tutorial2/on.xjmhm9.na
    となります。
    user 等のディレクトリ階層構造は失われ、フラットな位置になります。
    しかし、クラス自体はディレクトリ構造をパッケージ名としています。
  • 静的コンテンツは階層をそのまま維持する。
    画像ファイルは、
    http://localhost:8080/tutorial2/image/wallpaper.gif
    でアクセスします。
    あらゆるロジッククラスからは、
    ./image/wallpaper.gif
    の相対パスでアクセスする事になります。

このように、モックアップHTMLとは、静的コンテンツとの相対位置関係が変わりますので注意が必要です。

重複した name の扱い

もう1つ、user/edit.html の特記欄に「name=sexのタグは配列化されました。」とあります(性別入力用ラジオボタンとして男女2個を準備しました)。
Paraselene は、1つの HTML 中に複数個の同一 name が登場すると配列として管理します。
tutorial2.logic.user.EditHtml の親クラスである tutorial2.view.user.EditHtml には以下のアクセッサが存在します。

1 public paraselene.tag.form.SingleTextBox getUserIdInput() ユーザーID
2 public paraselene.tag.Tag[] getUserIdTags()
3 public paraselene.tag.form.Button getOkInput() 決定ボタン
4 public paraselene.tag.Tag[] getOkTags()
5 public paraselene.tag.form.Button getCancelInput() キャンセルボタン
6 public paraselene.tag.Tag[] getCancelTags()
7 public paraselene.tag.form.SingleTextBox getNameInput() 名前
8 public paraselene.tag.Tag[] getNameTags()
9 public paraselene.tag.form.SingleTextBox getAddressInput() 住所
10 public paraselene.tag.Tag[] getAddressTags()
11 public paraselene.tag.Tag getErrorFont() エラー
12 public paraselene.tag.Tag[] getErrorTags()
13 public paraselene.tag.Tag[] getSexTags() 性別
チュートリアル1でもアクセッサについて触れましたが基本的に2種類のメソッドが準備されます。それに対して性別はNo13の1つのみが準備されています。
Tag[] を返すメソッドはこのように、配列化されたタグを得るためのメソッドで、モックアップで配列となったタグの、単一タグ取得用アクセッサは準備されません。

ユーザー情報用クラス

今回は別途、ユーザー情報用のクラスを準備しておきます。この db 変数を検索結果として使用します。

tutorial2/User.java
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
package tutorial2;
 
import java.util.ArrayList;
 
 
public class User {
    public String user_id;
    public String name;
    public String sex;
    public String address;
 
    public User( String u, String n, String s, String a ) {
        user_id = u;
        name = n;
        sex = s;
        address = a;
    }
 
    public static ArrayList<User>   db = new ArrayList<User>();
 
    static {
        db.add( new User( "user0", "チュートリアル", "m", "京都" ) );
        db.add( new User( "user1", "康介", "m", "北京" ) );
        db.add( new User( "user2", "宮里", "f", "沖縄" ) );
        db.add( new User( "user3", "中田", "m", "イタリア" ) );
        db.add( new User( "user4", "堀江", "m", "六本木" ) );
        db.add( new User( "user5", "東国原", "m", "宮崎" ) );
        db.add( new User( "user6", "小倉", "f", "こりん星" ) );
        db.add( new User( "user7", "白石", "m", "生協" ) );
    }
}

チュートリアル3(検索出力)

最終更新: 2009/10/13
特に明示されていない限り、本Wikiの内容は次のライセンスに従います:CC Attribution 3.0 Unported
文書の先頭へ
SourceForge.JP
2009 © Akira Terasaki.  
Driven by DokuWiki The Apache Software Foundation