Можете ли вы управлять кнопкой "Назад" в браузере с помощью навигации JSF Faces-config

Можете ли вы управлять кнопкой возврата в браузере с помощью навигации 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>

person Dave    schedule 08.12.2010    source источник


Ответы (2)


Нет, не можешь. Это уже невозможно с HTML / JS, поэтому JSF мало что может для вас сделать.

Лучше всего отображать содержимое pageTwo.xhtml в pageOne.xhtml в зависимости от некоторого условия JS / ajax. Таким образом, GET-запрос на pageTwo.xhtml в истории браузера отсутствует.

Вот базовый пример запуска с простым 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.

person BalusC    schedule 09.12.2010

Вот одно из возможных решений: dojo.back и jqueryTools

person Svetoslav Marinov    schedule 01.12.2011