JSF画面遷移

2009/06/24 18:08Update
TAGS: JSF | 画面遷移

Syboos.jp編集長

JSF画面遷移方法。

<h:commandButton />と<h:commandLink />による画面遷移



■JSP例:
<h:commandButton action="login" value="ログイン" />
<h:commandButton action="#{MyBean.doTest}" value="テスト" />


■Bean例:
package mypackage;
public class MyBean {
    public String doTest() {
        if (..) {    //条件
            return "out";    // /out.jspに遷移
        }
        else {
            return "ok";    // /ok.jspに遷移
        }
    }

}


■faces-config.xml設定例:
<faces-config>
  ...

  <managed-bean>
    <managed-bean-name>MyBean</managed-bean-name>
    <managed-bean-class>mypackage.MyBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
  </managed-bean>

  <navigation-rule>
    <!-- 任意遷移元 -->
    <from-view-id>*</from-view-id>
    <navigation-case>
      <from-outcome>login</from-outcome>
      <to-view-id>/login.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <!-- 遷移元のJSPファイル名を記述 -->
    <from-view-id>/in.jsp</from-view-id>
    
    <!-- ナビゲーション・ケース -->
    <navigation-case>
      <!-- 名称 -->
      <from-outcome>out</from-outcome>
      <!-- 遷移先JSPファイル名 -->
      <to-view-id>/out.jsp</to-view-id>
    </navigation-case>
    
    <navigation-case>
      <!-- 名称 -->
      <from-outcome>ok</from-outcome>
      <!-- 遷移先JSPファイル名 -->
      <to-view-id>/ok.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
  ...
</faces-config>


<h:outputLink />による画面遷移



■JSP例:
<h:outputLink value="/path/to/output.faces" />

※valueに遷移したいページを指定します。
※JSFタグを含めたoutput.jspに遷移したい場合、output.jspではなく、web.xmlの定義によって、output.facesに遷移するようと書かなくてもなりません。

Sponsored Link


  • Relative Articles