在JSF2中的防止表单重复提交

在B/S系统开发过程中,关于如何防止表单的重复提交问题,也是一个老生常谈的问题,这里说说如何在JSF2的开发环境下防止表单重复提交。

问题解决的思路基本和struts的思路是一致的,那就是

1.生成一个字符串(token),放置在session里, 
2.在表单生成时,同时把这个token作为表单的一部分,放置在一个hidden input中,
3.表单提交时,在backingbean中验证一下页面提交过来的token是否和session中的一致。
4.业务完成之后,重置一下token.

因为如果是用浏览器的后退按钮退回到表单页面的话,表单的内容是不会变化的,包括表单里面的token,这样在后退再
提交的时候,由于session中的token已经重置,这时候,我们就认为提交是失败的。

详细阅读传送门  http://www.oschina.net/question/113994_46198

你可能感兴趣的:(form,表单,jsf2)