我有一个表单正在提交到 servlet 并使用 doPost() 方法进行处理。提交表单后,用户将被带到带有“后退”按钮(而不是浏览器的后退按钮)的另一个页面。如果单击“后退”按钮,表单应重新填充原始输入。我怎样才能做到这一点?
最佳答案
您有责任保留信息并手动重新填充表单。您可以通过以下两种方式之一执行此操作:
- 您可以将内容推送到 客户端并在何时读回它 必要的。
- 或者您可以保存 该客户的表单数据 服务器空间。
我更喜欢后者,通过创建一个代表表单数据的模型。处理表格后,您可以为该客户保存一份副本。如果重新加载页面,您可以检查是否存在先前的模型。如果存在,您可以使用该数据来填充您的表单。如果不存在,您可以使用默认模型或空值。
将内容收集到模型中还有其他优点,这将使您以后受益。例如,如果对表单进行更改,并且“提交”和“清除”按钮附近有一个“撤消”按钮,则可以轻松恢复到最后一个已知状态。为了激活“撤消”按钮,您可以轻松执行以下操作:
boolean isDirty = savedModel.equals(currentModel);
并使用 boolean 值启用/禁用“撤消”按钮,而不是使用大量“if/else”语句来查看值是否已更改。干净多了。
杰奇!
关于java - 如何使用 Java 重新填充表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/777565/