O valor variável não é redefinido após a limpeza da sessão para feijão de sessões
-
26-09-2019 - |
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.
Solução
Resolvido fornecendo cookies persistentes
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow