チュートリアル5(ブログ画面)

メインページ、ブログの画面を実装します。
まずは簡単なログインから。

tutorial3/logic/BlogHtml.java①
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
    public Forward inputMain( RequestParameter req, Forward fw ) throws PageException {
        // fwにはモックアップと同じ遷移先が設定されています。
        // 別の遷移先としたい場合は、新しくForwardインスタンスを生成して
        // リターンして下さい。
        if ( getLoginInput().isClicked() ) {
            try {
                if ( !getPasswordInput().getValueString().equals( "pass" ) ) {
                    throw new Exception();
                }
            }
            catch( Exception e ) {
                fw = new Forward( PageType.BLOG_HTML, true, false );
            }
        }
        return fw;
    }

もしパスワードが未入力ならば NullPointerException が発生します。
このため、例外が一切なければログインを許可する、というような実装としました。

今回も BlogHtml クラスに何ページ目を表示しているかを変数で持たせます。
また前回のチュートリアルと同様に、page=xxx 形式のリクエストパラメータでページ遷移先を指定する事とします。

tutorial3/logic/BlogHtml.java②
1:
2:
3:
4:
5:
public class BlogHtml extends tutorial3.view.BlogHtml {
    // 1ページ内で表示できる記事の数
    private static final int MAX_ARTICLE = 3;
    // 現在のページ
    private int page = 0;
tutorial3/logic/BlogHtml.java③
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
    public Forward inputMain( RequestParameter req, Forward fw ) throws PageException {
        // fwにはモックアップと同じ遷移先が設定されています。
        // 別の遷移先としたい場合は、新しくForwardインスタンスを生成して
        // リターンして下さい。
        if ( getLoginInput().isClicked() ) {
            try {
                if ( !getPasswordInput().getValueString().equals( "pass" ) ) {
                    throw new Exception();
                }
            }
            catch( Exception e ) {
                fw = new Forward( PageType.BLOG_HTML, true, false );
            }
        }
        else {
            RequestItem item = req.getItem( "page" );
            if ( item != null ) {
                page = Integer.parseInt( item.getValue( 0 ) );
            }
        }
        return fw;
    }

チュートリアル6(記事生成)

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