有人告诉我 JSF 2.0 会自动处理多次提交问题。是对的吗?如果是,JSF 2.0 如何做到这一点?如果不是,有哪些事情需要注意,以免在处理这个问题时留下任何陷阱?
谢谢。
有人告诉我 JSF 2.0 会自动处理多次提交问题。是对的吗?如果是,JSF 2.0 如何做到这一点?如果不是,有哪些事情需要注意,以免在处理这个问题时留下任何陷阱?
谢谢。
这是由JSF 规范问题 559请求和维护的。就目前而言,它还没有出现,但它是针对即将到来的 JSF 2.2 的。
在那之前,Seam<s:token>
是您最好的解决方案,它不仅可以防止 CSRF(根据JSF impl issue 812 ,自 JSF 2.1 起,这不再是绝对必要的),而且还可以重复提交。
<h:commandButton onclick ="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);setTimeout('document.getElementById(\'' + this.id + '\').disabled=false;', 500);" />
考虑改进您简单而优雅的解决方案。我认为我们应该在一段时间后启用提交按钮。我相信你会想到这一点,但这是给像我这样的其他新手读者的:-)