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

partie jsf2:valeur variable est pas remis à zéro après le nettoyage de session pour le haricot sessionscoped

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

haricot simple pour l'action écoute:

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 "Acheter" bouton
2. contenu du panier est incrémentée
3. cliquez sur Maj-Ctrl-Del (de cookies propre et cache) dans FF et Actualisez
4. compteur du panier était resté le même

Si je comprends bien, la portée de la session précise, que ce compteur (étape 2 ) sera incrémenté portée de session uniquement, et après les cookies, le cache nettoyage devrait être remis à zéro?

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

+1

Et vous n'avez pas l'attribut 'JSESSIONID' dans votre URL? – BalusC

+0

oui, je n'ai pas – sergionni

+0

Probablement votre méthodologie de test était tout à fait fausse. Avez-vous vérifié les en-têtes de demande et de réponse? (Firebug, etc) Avez-vous débogué la création de la session? (Eclipse, HttpSessionListener, etc) – BalusC

Répondre

1

résolu en fournissant des cookies persistants

Questions connexes