TOPシステム開発> ナビゲーションルールの設定
まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第5回:JSFアプリケーションを作成しよう

著者:WINGSプロジェクト  佐藤治夫(株式会社ビープラウド)、
小泉守義

監修:山田祥寛   2006/8/4
前のページ  1  2
ナビゲーションルールの設定

   Applicationsナビゲータで、「ViewController」プロジェクト − 「WebContent」フォルダ − 「WEB-INF」フォルダの中にJSFの設定ファイルであるfaces-config.xmlがあります。まず、このファイルをダイアグラムエディタで編集し、ページ遷移を定義しましょう。

   faces-config.xmlをダブルクリックして、中央のエディウィンドウで開き、エディタ下部にある「Diagram」タブをクリックするとダイアグラムエディタが現れます。右の「コンポーネント・パレット」より「Faces Page」をドラッグしてページアイコンを2つ配置したら、次に「Faces Navigation Case」をドラッグして各ページアイコン同士を線で結びます(図4)。この線はページ遷移を表しており、線の上にある文字列(ラベル)は遷移ケースIDを表しています。

ページ遷移の定義
図4:ページ遷移の定義
(画像をクリックすると別ウィンドウに拡大図を表示します)

   ページ遷移が設定できたら、アプリケーションのスタートページを設定します。input.jspのページアイコン上で右クリックしてコンテキストメニューを表示し「Set as Default Run Target」を選択すると、ページファイル名の左横にアスタリスクが表示され、スタートページとして設定されます。

   こうして作成されたページ遷移定義情報は、「XMLエディタ」タブをクリックすると表示されるfaces-config.xmlへ出力されます(リスト1)。このページ遷移定義情報のことをナビゲーションルールといいます。

リスト1:ページ遷移定義後のfaces-config.xml
<?xml version="1.0" encoding="windows-31j"?>
<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config xmlns="http://java.sun.com/JSF/Configuration">
    <navigation-rule>
        <from-view-id>/input.jsp</from-view-id>
        <navigation-case>
                <from-outcome>show result</from-outcome>
                <to-view-id>/result.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
            <from-view-id>/result.jsp</from-view-id>
            <navigation-case>
                <from-outcome>retry</from-outcome>
                <to-view-id>/input.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>

   ナビゲーションルールはJSFページごとに定義され、JSFページIDと1つ以上の遷移ケースの記述からなっています。遷移ケースとページの関係は、図5のとおりです。

遷移ケースとページの関係
図5:遷移ケースとページの関係

   リスト1の<navigation-rule>要素がページ遷移を、<navigation-case>要素が遷移ケースを表しています。<from-view-id>要素は、どのJSFページの遷移を定義するかを示すもので、ページIDを指定します。また、<from-outcome>要素は遷移ケースIDを、<to-view-id>は遷移先を表しています。


次回は

   次回は情報入力ページの作成について解説します。

前のページ  1  2


著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義 監修:山田祥寛
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛

WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。


INDEX
第5回:JSFアプリケーションを作成しよう
  JSFアプリケーションの作成
ナビゲーションルールの設定