DTO实体界面如何实现缓存效果

我有一个DTO实体和DTO界面,现在在界面中点击一个按钮,在后台运行逻辑后把数据加载界面中,但是当我切换到另一个实体界面后,再返回DTO界面,该界面中的数据就会全部清空,还需要点击按钮重新生成数据。

请问这个页面缓存功能有办法实现吗?

有两个问题

  1. 点击按钮加载数据的过程,这个步骤是页面打开自动加载?
  2. 如果是手动加载,也就是说那个按钮必须点一下,那么切换到另一个实体界面后,再返回 DTO 界面,目前按照 Jmix 2 的逻辑,界面是重新渲染的,只能通过路由记录状态。

如果是第一种情况,需要自动加载,可以首先把 DataLoader 的加载过程代理给服务:loadDelegate,然后用 dataLoadCoordinator 就可以自动加载了。

如果是第二种情况,就要用到 URL 的状态绑定。可以参考: 自定义状态绑定。文档中的示例比较简单,就是一个 textField,如果你的数据比较多,还需要考虑用一个类似 Map<String,DTO> 的方法把数据缓存起来。打开页面根据路由中的参数加载缓存的 DTO(或更多数据)。

好的好的,我属于第二种情况,我看一下试试 感谢