画面遷移 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
© Copyright 2024 ExpyDoc