JSF画面遷移
2009/06/24 18:08Update
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