لا تتم إعادة تعيين القيمة المتغيرة بعد تنظيف الجلسة لـ SessionsCoped Bean
-
26-09-2019 - |
سؤال
<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) سيتم زيادة في نطاق الجلسة فقط ، وبعد ملفات تعريف الارتباط ، يجب إعادة تعيين تنظيف ذاكرة التخزين المؤقت؟
المشكلة ، أنها لا.
المحلول
حل من خلال توفير ملفات تعريف الارتباط المستمرة
لا تنتمي إلى StackOverflow