لا تتم إعادة تعيين القيمة المتغيرة بعد تنظيف الجلسة لـ SessionsCoped Bean

StackOverflow https://stackoverflow.com/questions/4239356

سؤال

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

جزء JSF2:

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

    }

حالة الاستخدام:
1. انقر فوق الزر "شراء"
2. يتم زيادة محتوى السلة
3. انقر فوق Shift-Ctrl-Del (ملف تعريف الارتباط وتذاكر ذاكرة التخزين المؤقت) في FF وتحديث
4. ظل عداد السلة هو نفسه

كما أفهم ، يحدد نطاق الجلسة أن هذا العداد (الخطوة 2) سيتم زيادة في نطاق الجلسة فقط ، وبعد ملفات تعريف الارتباط ، يجب إعادة تعيين تنظيف ذاكرة التخزين المؤقت؟

المشكلة ، أنها لا.

هل كانت مفيدة؟

المحلول

حل من خلال توفير ملفات تعريف الارتباط المستمرة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top