2010-12-08 17 views
1

Können Sie Browser zurück Schaltfläche mit JSF faces-config Navigation steuern? Wenn die Rücktaste auf Browser gedrückt möchte Navigation verwenden wie zu steuern folgenden welcher Seite angezeigt werden soll:Können Sie Browser zurück Schaltfläche mit JSF faces-config Navigation steuern

<navigation-rule> 
    <from-view-id>/pageThree.xhtml</from-view-id> 
    <navigation-case> 
    <from-outcome>back</from-outcome> 
    <to-view-id>/pageOne.xhtml</to-view-id> 
    </navigation-case> 
</navigation-rule> 

Antwort

1

Nein, kann man nicht. Mit HTML/JS ist das nicht möglich, daher kann JSF hier nicht viel für Sie tun.

Ihre beste Wette ist, den Inhalt von pageTwo.xhtml in pageOne.xhtml bedingt anzuzeigen, basierend auf einigen JS/ajax-Bedingungen. Auf diese Weise gibt es keine GET-Anfrage auf pageTwo.xhtml im Browserverlauf.

Hier ist ein Grund Kickoff Beispiel mit einfachen JS:

<div id="one"> 
    <h1>Page one</h1> 
    <p><a href="#" onclick="showPageTwo()">Go to page two</a></p> 
</div> 
<div id="two" style="display: none;"> 
    <h1>Page two</h1> 
    <p><a href="pageThree.xhtml">Go to page three</a></p> 
</div> 

mit

<script> 
    function showPageTwo() { 
     document.getElementById("one").style.display = 'none'; 
     document.getElementById("two").style.display = 'block'; 
    } 
</script> 

Dies ist auch einfach, mit JSF 2.0 Ajax und dem rendered Attribute.