<h:form>
<h:commandButton value="Buy" styleClass="button-buy" actionListener="#{basketCount.incrementBasketCount}" immediate="true">
</h:commandButton>
</h:form>
jsf2 часть:
<li class="basket">
#{basketCount.basketCount}
</li>
face-config:
<managed-bean>
<managed-bean-name>basketCount</managed-bean-name>
<managed-bean-class>main.BasketCount</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
простой компонент для прослушивания действий:
package main;
import java.io.Serializable;
public class BasketCount implements Serializable {
private static final long serialVersionUID = -4576074045587545642L;
int inBasketCount = 0;
public void incrementBasketCount(javax.faces.event.ActionEvent event) {
inBasketCount++;
}
public int getBasketCount() {
return inBasketCount;
}
}
сценарий использования 1. нажмите на кнопку «Купить» 2. содержимое корзины увеличивается 3. нажмите Shift-Ctrl-Del (очистить cookie и кэш) в FF и Обновить 4. счетчик корзины остался прежним
Как я понимаю, область действия сеанса указывает, что этот счетчик (шаг 2 ) будет увеличиваться только в области действия сеанса, а после файлов cookie очистка кэша должна быть сброшена?
Проблема в том, что это не так.