Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sessionscoped bean的会话清理后不会重置变量值_Session_Jsf_Scope_Actionlistener - Fatal编程技术网

sessionscoped bean的会话清理后不会重置变量值

sessionscoped bean的会话清理后不会重置变量值,session,jsf,scope,actionlistener,Session,Jsf,Scope,Actionlistener,用例: 1.点击“购买”按钮 2.篮子的内容增加 3.单击FF中的Shift-Ctrl-Del(清除cookie和缓存)并刷新 4.篮子的计数器保持不变 据我所知,会话作用域指定此计数器(步骤2)将仅在会话作用域中递增,并且在cookie之后,应重置缓存清理 问题是,它没有。通过提供持久cookie解决了问题,而您的URL中没有JSESSIONID属性?可能您的测试方法是完全错误的。您是否检查了请求和响应标题?(Firebug等)您调试了会话创建吗?(Eclipse、HttpSessionLis

用例:
1.点击“购买”按钮
2.篮子的内容增加
3.单击FF中的Shift-Ctrl-Del(清除cookie和缓存)并刷新
4.篮子的计数器保持不变

据我所知,会话作用域指定此计数器(步骤2)将仅在会话作用域中递增,并且在cookie之后,应重置缓存清理


问题是,它没有。

通过提供持久cookie解决了问题,而您的URL中没有
JSESSIONID
属性?可能您的测试方法是完全错误的。您是否检查了请求和响应标题?(Firebug等)您调试了会话创建吗?(Eclipse、HttpSessionListener等)我没有注意到JSSessionID存在,但并不总是显示在URL上。问题不再是实际问题。
<h:form>
<h:commandButton value="Buy" styleClass="button-buy" actionListener="#{basketCount.incrementBasketCount}" immediate="true">
</h:commandButton>
</h:form>
 <li class="basket">    
  #{basketCount.basketCount}
 </li>
 <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>
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;
     }

    }