PowerPoint プレゼンテーション

画面遷移
J2EE II 第4回
2005年4月10日
1
ここでの内容

JSFでの画面遷移の方法について学ぶ。
2
画面遷移とは?

画面1のボタ
ンを押したら
画面2に飛
ぶ
3
画面1のJSP
<f:view>
<h:form id="searchForm">
<p>1枚目のページだよ!
ボタンをクリックしてね。</p>
<h:commandButton id="button1"
action="success" value="Go!" />
</h:form>
</f:view>
4
h:commandButton 要素 (1)
<h:commandButton id="button1"
action="success" value="Go!" />
 ボタンを表すUIコンポーネント
 id 属性がある。
 value 属性の値は、ボタンのラベルになる。
5
h:commandButton 要素 (2)
<h:commandButton id="button1"
action="success" value="Go!" />
 action 属性の値は outcome という。
 ボタンが押されると、どこかのページに遷移する。


どのページに遷移するかという情報を得るために、
outcome を使う。
outcome・遷移元・遷移先の情報は、facesconfig.xml に記述する。
6
faces-config.xml の編集
<navigation-rule>
<from-view-id>/page1.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/page2.jsp</to-view-id>
</navigation-case>
</navigation-rule>
7
from-view-id 要素
<from-view-id>/page1.jsp</from-view-id>

遷移元になるJSP
8
navigation-case 要素
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/page2.jsp</to-view-id>
</navigation-case>

(page1.jspで) “success” という outcome が返さ
れたら、/page2.jsp に遷移する。
9
(通常の) MVCモデル2との
違い




(通常の) MVCモデル2では、Servlet に画
面遷移の情報が書かれていた。
そのため、画面遷移の流れを追うには、
Servlet や JSP の記述を見る必要がある。
JSF では、画面遷移の情報を、facesconfig.xml で集中して管理できる。
その結果、Webアプリケーション全体の見
通しが良くなる。
10
画面遷移のまとめ (1)



画面1(page1.jsp) でボタン
(h:commandButton) が押される
h:commandButton の outcome は
"success" となっている
faces-config.xml を見てみよう
11
画面遷移のまとめ (2)



navigation-rule 要素で、from-view-id 要
素の値 (つまり遷移元) が page1.jsp に
なっている箇所を探す
navigation-case 要素を見ると、outcome
が "success" の場合、"page2.jsp" に遷移
する、と書かれている
outcome は "success" なので、page2.jsp
に遷移する
12