好日子,保存变量抛出异常()或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对其进行编辑,用户也不知道这个变量也存在。 –