Pergunta

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

Parte JSF2:

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

Feijão simples para ouvir ação:

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

    }

Caso de uso:
1. Clique no botão "Comprar"
2. O conteúdo da cesta é incrementado
3. Clique em Shift-Ctrl-Del (Cookie e cache limpo) em FF e atualize
4. balcão de cesta permaneceu o mesmo

Pelo que entendi, o escopo da sessão especifica que esse contador (passo 2) será incrementado apenas no escopo da sessão e, após os cookies, a limpeza do cache deve ser redefinida?

O problema, que não.

Foi útil?

Solução

Resolvido fornecendo cookies persistentes

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top