Доброго дня,Сохранить переменный перед броском исключением() или addGlobalError()
В Java веб-приложении, у меня есть кнопка для пользователя щелкнуть, и я сделаю некоторую логику в методе. И я планирую сделать проверку, которая равна doSomething()
, если пользователь нажимает более 5 раз на эту кнопку и (ударяет какую-то логику и бросает исключение). Таким образом, я создаю переменную для хранения количества кликов. Мой код следующим образом:
@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()
после того, как я нажму 5 раз по кнопке add
.
Я считаю, что throw Exception() или addGlobalError()
не сохранит значение переменной в сеансе. Любые идеи для преодоления этого, кроме сохранения значения db?
Почему вы не добавляете значение счетчика в сеанс или файлы cookie, session.setCounter («counter», counter); –
В сервлет (в Java-приложении Java) не рекомендуется создавать переменную экземпляра в Servlet, специально для хранения пользовательских данных. –
Счет не учитывает данные пользователя правильно? пользователь не может редактировать его через пользовательский интерфейс, пользователь не знает, что эта переменная существует. –