好日子,保存變量拋出異常()或addGlobalError()
在Java Web應用程序之前,我有用戶點擊,我會做的方法一些邏輯的按鈕。如果用戶在此按鈕上點擊5次以上(並擊中某個邏輯並拋出異常),我打算執行檢查,即doSomething()
。因此,我創建了一個變量來存儲點擊次數。我的如下代碼:
@Session
private int count;
public Resolution add() throws BaseException {
if (count >= 5) {
doSomething();
}
if (true) {
count++;
throw BaseValidationException();
}
return view();
}
然而,count++
不會+1到throw BaseValidationException()
後計數。 但是,如果我刪除throw BaseValidationException()
,則系統將運行到doSomething()
,因爲我在add
按鈕上單擊了5次。
我相信拋出Exception()或addGlobalError()
不會將變量值存儲到會話中。任何想法來克服這個比存儲價值數據庫?
爲什麼你沒有將計數器值添加到會話或cookie,session.setCounter(「counter」,counter); –
在servlet中(在Java Web App中)不建議在Servlet中創建實例變量,特別是存儲用戶數據。 –
計數是不是考慮用戶數據的權利?用戶不能通過UI對其進行編輯,用戶也不知道這個變量也存在。 –