La valeur variable n'est pas réinitialisée après le nettoyage de la session pour le haricot à sessions

StackOverflow https://stackoverflow.com/questions/4239356

Question

<h:form>
<h:commandButton value="Buy" styleClass="button-buy" actionListener="#{basketCount.incrementBasketCount}" immediate="true">
</h:commandButton>
</h:form>

JSF2 Pièce:

 <li class="basket">    
  #{basketCount.basketCount}
 </li>

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

Bean simple pour l'écoute d'action:

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

    }

cas d'utilisation:
1. Cliquez sur le bouton "Acheter"
2. Le contenu du panier est incrémenté
3. Cliquez sur Shift-Ctrl-Del (cookie et cache propres) en FF et actualiser
4. le compteur du panier est resté le même

Si je comprends bien, la portée de la session spécifie que ce compteur (étape 2) sera incrémenté dans la portée de la session uniquement, et après les cookies, le nettoyage du cache devrait être réinitialisé?

Le problème, que ce n'est pas le cas.

Était-ce utile?

La solution

Résolu en fournissant des cookies persistants

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top