0

私はfaces-config.xmlにナビゲーションルールのあるJSFボタンを持っています:

<h:commandButton id="newzone" styleClass="lbimage" value="New Zone" action="#{bean.navigateToNewZone()}">
    <f:ajax render="@form"></f:ajax>
</h:commandButton>

// Navigate to New Zone page
public int navigateToNewZone(){
    return 11472;
}

<navigation-rule>
    <description>Navigation rule to New Zone page</description>
    <from-view-id>/ZonesList.xhtml</from-view-id>
    <navigation-case>
        <from-action>#{ZonesController.navigateToNewZone()}</from-action>
        <from-outcome>11472</from-outcome>
        <to-view-id>/NewZone.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

私の質問は、ナビゲーションを単純化する方法です。ナビゲーションルールをfaces-config.xmlにしたくありません。JSFボタンから直接新しいページを開く方法はありますか?

4

2 に答える 2

4

JSFボタンから直接新しいページを開く方法はありますか?

<h:button>の代わりに使用して<h:commandButton>ください。そのためのPOSTリクエストはまったく必要ありません。

<h:button value="New Zone" outcome="/NewZone.xhtml" />

新しいJSF2.0の「暗黙のナビゲーション」機能は、「from-outcome」を「to-view-id」として暗黙的に使用するため、「to-view-id」を直接使用することも<h:commandButton action>、戻り値を次のように使用することもできます。他の答えによってほのめかされた。

于 2012-09-13T14:08:59.327 に答える
2

action="/NewZone.xhtml"内でさらに設定せずに直接使用することもできますfaces-config.xml

于 2012-09-13T13:19:20.750 に答える