XPages: Почему мои функции выполняются несколько раз внутри событий и свойств?

#xpages #xpages-ssjs

#xpages #xpages-ssjs

Вопрос:

Я написал функцию, которая будет выполняться перед загрузкой страницы (beforePageLoad()) внутри пользовательского элемента управления. Пользовательский элемент управления используется только один раз в XPage. Но я заметил, что он выполняется несколько раз (2-4 раза, разное количество раз).

 <xp:this.dataContexts>
  <xp:dataContext var="filterOptions">
     <xp:this.value><![CDATA[#{javascript:getFilterOptions("wvAP");}]]></xp:this.value>
  </xp:dataContext>
</xp:this.dataContexts>
<xp:this.beforePageLoad><![CDATA[#{javascript:beforePageLoad();}]]></xp:this.beforePageLoad>
 

Я также использовал функцию внутри свойства поиска dominoView, и происходит то же самое (элемент управления также используется один раз на странице).:

 <xp:this.data>
        <xp:dominoView var="viewBP" viewName="wvBP"
            ignoreRequestParams="true"
            search="${javascript: getSearchQuery(); //on page reload because if dynamic, called 4x}">
        </xp:dominoView>
    </xp:this.data>
 

Я уже установил для него значение «только при загрузке страницы», но он по-прежнему запускается несколько раз. Как ты думаешь, что я здесь делаю не так? Или я пропустил конфигурацию или что-то в этом роде? Спасибо!

Комментарии:

1. Происходит ли многократное выполнение во время загрузки страницы или после какого-либо события — частичного обновления, полного обновления?

2. Это происходит во время загрузки страницы, как для события beforePageLoad, так и для свойства просмотра поиска.

3. XPages проходит через ряд событий жизненного цикла JSF. Это сообщение в блоге Пола Уизерса может помочь объяснить, с чем вы столкнулись: intec.co.uk /…