Vaadin中的缓存问题

Vaadin中的缓存问题,vaadin,Vaadin,我有一个示例应用程序,包括以下三个步骤 输入用户详细信息->个人详细信息->完成 当我点击一个链接时,它将调用我的vaadin应用程序。问题是,一旦我的三步流程完成,当我再次尝试单击my vaadin链接时,它仍然显示最后一个向导页面“finished” (如果我想再次看到第一页,即进入用户详细信息向导页面,则需要清除浏览器缓存或重新启动浏览器)由于Vaadin将会话保留在内存中,因此在看到新的浏览器会话(即清除缓存或重新启动浏览器)之前,不会重置应用程序。在开发过程中清除会话的另一种方法是将重

我有一个示例应用程序,包括以下三个步骤

输入用户详细信息->个人详细信息->完成

当我点击一个链接时,它将调用我的vaadin应用程序。问题是,一旦我的三步流程完成,当我再次尝试单击my vaadin链接时,它仍然显示最后一个向导页面“finished”


(如果我想再次看到第一页,即进入用户详细信息向导页面,则需要清除浏览器缓存或重新启动浏览器)

由于Vaadin将会话保留在内存中,因此在看到新的浏览器会话(即清除缓存或重新启动浏览器)之前,不会重置应用程序。在开发过程中清除会话的另一种方法是将重新启动应用程序连接到应用程序的URL。这也将清除应用程序状态

因此,考虑到这一点,很明显,如果您希望在正常使用期间重置Vaadin应用程序状态,则必须以编程方式确保内部逻辑以这样的方式工作。例如,为第一个视图调用自定义的reset()方法

请确保不要将应用程序基于会话的状态与页面状态混淆,页面状态会在每次按“重新加载”或再次打开链接时重置应用程序,而不会创建新的浏览器会话


瓦丁书中关于这一点的章节:

在浏览器中调用应用程序时,只需在URL中附加
?restartApplication
参数。 例如 如果您以
localhost:8080/myvaadinapp/
的身份调用应用程序, 然后尝试以
localhost:8080/myvaadinapp/?restartApplication
的身份调用


它告诉Vaadin Servlet在加载页面时创建新的应用程序实例。

Hi Jonas,感谢您的回复。您能发布一些代码示例来清除vaadin缓存吗?如果您想以编程方式结束应用程序状态,只需调用yourApplication.close()。这将结束会话并重新启动应用程序。但是,我希望通过将输入值设置为NULL或缺省值的任何方式来重新设置表单数据。或者至少考虑将值设置为默认值。