我有一个基于java,j2EE的Web应用程序,在页面上我使用会话来存储由于某些原因用户输入的一些数据。该页面由运营商用于填充公民的数据。
让我们将该会话属性名称称为attr1
。
操作员可以尝试通过在浏览器上打开新选项卡来一次填充多个公民数据。会话属性attr1
显然会在标签之间共享,因此输入的数据在提交时可能不正确。
我在某处读到了我可以使用html5会话存储,因为它不在标签之间共享。但使用它会使应用程序浏览器依赖。操作员可能会尝试使用非html5兼容的浏览器。
我如何解决这个问题?
答案 0 :(得分:4)
您可以在页面中放入一个隐藏的输入值,例如在请求页面时在后端生成的时间戳。 通过这种方式,每个页面都具有唯一的值。
然后你可以在会话中放入一个hashmap,其中键 - 值对是生成的时间戳(键)和你需要的对象(值)。
当您提交页面时,您将返回使用others参数隐藏的输入的时间戳,您将能够从您在会话中放入正确数据的地图中检索它!