снова, милые люди.
Возникла проблема с обновлением компонента apex: при обновлении страницы, и я не могу понять, что с ним делать.
Мы попробовали все, начиная от помещения компонента в outputPanel и добавляя его к атрибуту rerender, перезагружая всю страницу с помощью oncomplete, используя функцию window.reload (что-то в этом роде), и даже пытаясь принудительно выполнить перезагрузку с помощью setTimeout.
Несмотря на то, что я могу перезагрузить саму всю страницу, компонент никогда не перезагрузится, пока вы на самом деле не поднимитесь и не нажмете кнопку «Обновить» в браузере.
Демонстрациякод ниже:
<apex:page controller="myController" id="thePage" showHeader="false" sidebar="false" applyHTMLTag="false" standardStylesheets="false" action="{!onStart}">
<apex:composition template="myTemplate">
<apex:define name="header">
<c:myHeader fixed="true" language="{!langPref}" filling="true" timeout="true" /> <!--appStatus="{!app.App_Status__c}"-->
</apex:define>
<apex:define name="sidebar" >
<c:mySidebar id="theSidebar" applicationCurrentStage="{!currentStage}" applicationMaxStage="{!app.Application_Stage__c}" stages="{!appPagesMetadata}" memberSegmentedStages="{!memberSegmentedStages}" stagesToInvalidate="{!stagesToInvalidate}" currentMemberIndex="{!memberIndex}" members="{!members}" application="{!app}"/>
</apex:define>
<apex:define name="contents">
<p>There's totally some stuff in here.</p>
<div class="form-group">
<div class="col-lg-12">
<apex:commandButton action="{!save}" value="{!$Label.Save_Progress}" rerender="thePage" rendered="{!app.Application_Stage__c==NEW_STAGE && !guestUser}" oncomplete="myJS.afterSave({!isSaved},false);" status="blockStatus" />
<!--Functionality to Save and go Next-->
<apex:commandButton action="{!saveAndNext}" value="{!IF(previousStage==app.Application_Stage__c||app.Application_Stage__c==NEW_STAGE,$Label.Save_Next_btn ,$Label.Save_Progress)}" rerender="theForm" oncomplete="myJS.afterSave({!isSaved},true);" status="blockStatus" rendered="{!NOT(guestUser) || NOT(captchaEnabled)}" />
<apex:commandButton action="{!verifyCaptcha}" value="{!IF(previousStage==app.Application_Stage__c||app.Application_Stage__c==NEW_STAGE,$Label.Save_Next_btn,$Label.Save_Progress)}" rerender="thePage" oncomplete="myJS.afterSave({!isSaved},true);" status="blockStatus" rendered="{!guestUser && captchaEnabled}" />
<apex:actionFunction action="{!nextPage}" name="nextPage" status="blockStatus" />
<!--Functionality to Go To Page based on Sidebar preference-->
<apex:actionRegion renderRegionOnly="true">
<apex:outputPanel id="fastRerenderPanel" />
<apex:actionFunction action="{!findPage}" name="goToPage" status="blockStatus" reRender="fastRerenderPanel" oncomplete="redirectToPage();">
<apex:param name="goToPage" id="goToPage" assignTo="{!goToPage}" value="" />
<apex:param name="memberIndexNavigation" id="memberIndexNavigation" assignTo="{!memberIndex}" value="" />
</apex:actionFunction>
<apex:actionFunction action="{!redirectToPage}" name="redirectToPage" status="blockStatus" />
</apex:actionRegion>
<apex:actionStatus id="blockStatus" onstart="myJS.blockScreen();" onstop="myJS.unblockScreen();" />
</div>
</div>
</apex:define>
</apex:composition>
</apex:page>
Еще раз спасибо всем.