我正在使用XPages Mobile Controls与第二个应用页面上的View范围绑定的Object数据源(不是托管bean的Java类)。我将第二页上的resetContent设置为true。所以我假设每次转换到第二页时都会销毁并重新创建对象数据源。
当我第一次转换到第二页时,将按预期调用createObject()方法。如果我使用按钮转换到第二页并将forceFullRefresh设置为true,则调用createObject()方法。但是,如果我有一个带有为第二页指定的moveTo的Rounded List Item,则不会调用createObject()方法。而是将对象设置为上次访问该应用程序页面时使用的最后一个值。
有没有办法在每次转换到页面时强制调用createObject()方法?
答案 0 :(得分:1)
另一种方法是在SSJS中调用数据源的 refresh 方法。 假设您在页面上只有一个数据源,您可以从视图中访问ObjectDataSource:
var ods:com.ibm.xsp.extlib.model.ObjectDataSource = view.getData().get(0);
ods.refresh()
执行 createObject 方法绑定并重新实例化数据源。
答案 1 :(得分:0)
解决方案原来是将对象数据源从视图范围移动到请求范围。这是可能的,因为在准备好提交详细信息之前,我不需要在该页面上进行任何部分刷新。