你可以使用JSF faces-config导航控制浏览器后退按钮吗?

时间:2010-12-08 21:15:07

标签: jsf back-button

您可以使用JSF faces-config导航控制浏览器后退按钮吗?当在浏览器上按下后退按钮时,想要使用如下所示的导航来控制要显示的页面:

 <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>

2 个答案:

答案 0 :(得分:1)

不,你不能。 HTML / JS已经不可能了,所以JSF在这里做不了什么。

您最好的选择是根据某些JS / ajax条件有条件地在pageOne.xhtml中显示pageTwo.xhtml的内容。这样,浏览器历史记录中的pageTwo.xhtml上没有GET请求。

以下是普通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>

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

使用JSF 2.0 ajax和rendered属性也很容易。

答案 1 :(得分:0)

以下是一种可能的解决方案:dojo.backjqueryTools