良い一日、Java Webアプリケーションでスロー例外()またはaddGlobalError()
前に、私は、ユーザーがクリックすると、私はこの方法では、いくつかのロジックを行いますためのボタンを持つ変数を保存します。そして、ユーザーがこのボタンで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()
を削除した場合、add
ボタンを5回クリックすると、システムはdoSomething()
になります。
例外をスローすると、addGlobalError()
は変数値をセッションに格納しないと考えています。 dbに値を格納する以外にこれを克服するアイデアはありますか?
セッションまたはクッキーにカウンタ値を追加しない理由、session.setCounter( "counter"、counter); –
サーブレット(Java Web Appでは)では、サーブレットにインスタンス変数を作成することはお勧めできません。特に、ユーザーデータを保存することはお勧めしません。 –
数はユーザーデータの権利を考慮していませんか?ユーザーはそれをUIで編集することはできませんが、ユーザーはこの変数が存在するかどうかもわかりません。 –