所以这是我的情况。
我有jsp A执行查询并显示数据。在jsp A上我有一个表单,它将POST到一个新的servlet,表单上的动作是" / data"或者直接使用servlet。 doPost方法会将请求转发给我正在处理的新jsp(jsp B)。此jsp B允许用户选择第二个数据点,并在提交时将两个数据集转发回jsp B,其中数据集并排显示以进行比较。
现在,jsp B允许用户向下钻取几层不断增加的细节。每次向下钻取都会向servlet返回一个新POST,然后将新数据转发回jsp B.同样,jsp B上的表单有一个" / data",servlet本身的动作。
所以去jsp B进行比较并向下练习两个级别。现在用户想要恢复正常水平。如果用户点击浏览器"返回"按钮,浏览器显示错误。刷新页面然后显示适当的数据级别。
我希望后退按钮自动返回一个级别,必要时重新提交表单,并显示正确的数据。
在研究这个时,我发现了Post / Redirect / Get模式的提及。我还发现this SO question and answer表示一旦发布帖子,应该使用重定向来代替前进。
如何在不强迫用户a)开始比较的情况下实现所需的结果,以及b)在后退按钮后不必点击刷新。
谢谢