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

jsf2 Teil:Variablenwert wird nicht zurückgesetzt, nachdem Sitzung Bereinigung für sessionscoped bean

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

einfache Bohne Handlungs Zuhören:

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

    } 

Anwendungsfall:
1., klicken Sie auf "Kaufen"
2. Inhalt des Korbes wird erhöht
3. Klick Umschalt-Strg-Entf (clean Cookie und Cache) in FF und Aktualisieren
4. Zähler Korb

gleich geblieben Wie ich verstehe, Sitzungsbereich gibt an, dass dieser Zähler (Schritt) nur in Sitzungsbereich erhöht werden, und nach Cookies, Cache aufzuräumen resettet werden sollte?

Das Problem, das es nicht tut.

+1

Und Sie haben nicht 'JSESSIONID' Attribut in Ihrer URL? – BalusC

+0

Ja, ich habe keine – sergionni

+0

Wahrscheinlich war Ihre Testmethodik einfach falsch. Haben Sie die Anforderungs- und Antwortheader überprüft? (Firebug, etc) Haben Sie die Sitzungserstellung debuggen? (Eclipse, HttpSessionListener, etc) – BalusC

Antwort

1

Behoben durch die Bereitstellung von persistenten Cookies

Verwandte Themen