1

我将 XPages Mobile Controls 与绑定到第二个应用程序页面上的 View 范围的对象数据源(Java 类,它不是托管 bean)一起使用。我已将第二页上的 resetContent 设置为 true。所以我会假设每次转换到第二页时对象数据源都会被销毁并重新创建。

当我第一次转换到第二页时, createObject() 方法按预期调用。如果我使用按钮转换到第二页并将 forceFullRefresh 设置为 true,则会调用 createObject() 方法。但是,如果我有一个带有为第二页指定的 moveTo 的圆角列表项,则不会调用 createObject() 方法。相反,该对象保持设置为上次访问该应用程序页面时使用的最后一个值。

有没有办法强制每次转换到页面时调用 createObject() 方法?

4

2 回答 2

1

另一种方法是调用SSJS中数据源的刷新方法。假设您在页面上只有一个数据源,您可以从视图中访问 ObjectDataSource:

var ods:com.ibm.xsp.extlib.model.ObjectDataSource = view.getData().get(0);
ods.refresh()

这将执行createObject方法绑定并重新实例化数据源。

于 2013-06-18T15:59:19.397 回答
0

结果证明,解决方案是将对象数据源从视图范围移动到请求范围。这是可能的,因为在准备好提交详细信息之前,我不需要对该页面进行任何部分刷新。

于 2013-06-18T13:58:54.853 回答