2013-06-16 2 views
1

Я использую элементы управления XPages Mobile с источником данных объекта (Java-класс, который НЕ является управляемым компонентом), связанным с View scope на второй странице приложения. У меня resetContent на второй странице установлено значение true. Поэтому я предположил, что объект Data Data Source будет уничтожен и воссоздан каждый раз, когда я перейду ко второй странице.Принудительный источник данных объекта для восстановления

Когда я перехожу на вторую страницу в первый раз, метод createObject() вызывается, как ожидалось. Если я перехожу на вторую страницу с помощью кнопки И установите forceFullRefresh в true, вызывается метод createObject(). Если, однако, у меня есть элемент Rounded List с указанным для второй страницы moveTo, метод createObject() не будет вызван. Вместо этого объект остается установленным на последнее значение, которое оно использовало, когда эта страница приложения была в последний раз.

Есть ли способ принудительно вызвать метод createObject() при каждом переходе на страницу?

+1

«каждый раз, когда я перехожу на страницу» - это ваша страница на странице мобильной страницы в мобильном приложении - что означает тот же XPage, или вы используете два разных XPage? –

+0

Я использую Xpages Mobile Controls .. т. Е. Это страницы приложений внутри приложения с одной страницей. –

+0

Это означает, что viewcope хранит ваш объект. Вы должны переключиться на запрос области или удалить объект на каком-либо событии. Сценарий «variable = null» должен делать. –

ответ

0

Решение оказалось перемещением источника данных объекта из области видимости для запроса области видимости. Это возможно, потому что у меня нет необходимости в каких-либо частичных обновлениях на этой странице, пока детали не будут готовы к отправке.

1

Другим способом является вызов . метод источника данных в SSJS. Assumning у вас есть только один источник данных на странице, вы можете получить доступ к ObjectDataSource с точки зрения:

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

Это выполняет метод CREATEOBJECT связывания и reinstantiate источника данных.

Смежные вопросы