2016-07-21 73 views
1

我有一個有豐富的數據問題:popupPanel無法在下列情況下被刷新:JSF RichFaces的PopupPanel刷新形式不工作

  1. 當用戶第一次打開彈出式面板中的值從帶豆和陳列。
  2. 用戶更改一些值,然後決定不保存更改並點擊關閉按鈕。
  3. 然後他再次打開彈出窗口。當對話框再次打開時,在後臺bean中,相關值正確地更改回以前的值(調用load()),但此更新未反映在UI中。 用戶可以看到之前選擇的值(步驟2),而不是支持bean上的值。

您是否碰巧知道任何解決方案,用於在瀏覽器中打開支持bean後,使用來自支持bean的值強制更新彈出窗口組件的組件? 我沒有這個問題,如果數據顯示在一個單獨的頁面上,而不是一個popupPanel,但我需要從需求中使用彈出面板。

下面是代碼:打開的popuppanel

<a4j:commandLink id="config" value="open" action="#{bean.load()}" 
oncomplete="#{rich:component('configPopUp:pp')}.show();" execute="@this">       
</a4j:commandLink> 
  1. popuppanel

    <rich:popupPanel id="ConfigPopUp" width="800" height="350" title=" "> 
    <h:form id="ConfigForm"> 
         <div class="row " style="margin: 0px"> 
          <div > 
          <a4j:commandButton styleClass="pull-right" id="ConfigSave" 
           actionListener="#{bean.saveConfiguration()}" 
           value="#{text['Configuration.save']}" immediate="true"> 
          </a4j:commandButton> 
         </div> 
        </div>      
    
        <ui:repeat 
         value="#{bean.selectedValues}" var="current" varStatus="i"> 
         <div class="row" style="margin: 0px"> 
          <div class="col-sm-4 col-sm-offset-1 "> 
           <h:outputText value="#{current.text}" /> 
          </div> 
          <div class="col-sm-4 "> 
           <rich:select value="#{current.relevance}"> 
            <f:selectItems 
             value="#{bean.relevanceOptions}"/> 
            <f:ajax event="change" render="@form" execute="@this" /> 
           </rich:select> 
          </div>     
         </div> 
        </ui:repeat> 
    
        </h:form> 
        </rich:popupPanel> 
    

回答

0

模態面板犯規自動重新 1.組件在.hide()上,所以它的「正常的」支持bean有正確的信息,但面板不是

你可以通過在面板的id(或面板的cointener元素)上添加「render」屬性到commandLink來修復它。

<a4j:commandLink id="config" value="open" action="#{bean.load()}" 
    oncomplete="#{rich:component('configPopUp:pp')}.show();" render ="ConfigPopUp" execute="@this">       
</a4j:commandLink> 

另一種解決方案是使用domElementAttachment = 「父」 到popupPanel,你可以rich_modalPanel documentation

讀它希望它可以幫助