簡體   English   中英

如何從備用Bean刷新整個JSF頁面

[英]How to refresh entire JSF page from the backing bean

我們在JSF頁面上有一個rich:comboBox,其中有一個valueChangeListener,它調用支持Bean函數:

<rich:comboBox id="cbmodel" defaultLabel="${accessUtils.activeRole}" value="${accessUtils.activeRole}" 
 style="float: right;" valueChangeListener="${accessUtils.valueChangeListener}" >
   <c:forEach var="role" items="${accessUtils.currentUserRoles}"> 
    <f:selectItem itemValue="#{role}"/>
    <a4j:support event="onchange" ajaxSingle="false" />

</c:forEach>
</rich:comboBox>

這是valueChangeListener支持bean函數:

public void valueChangeListener(ValueChangeEvent event){  
System.out.println("EVENT: HAS BEEN CALLED " + event.getNewValue());  
    setActiveRole((String) event.getNewValue());
}

我們如何獲得此功能來重新加載具有rich:comboBox的JSF頁面?

謝謝你的幫助。

您可以將<a4j:support>oncomplete屬性與JS一起使用,以強制重新加載整個頁面,例如:

<a4j:support event="onchange" ajaxSingle="false" oncomplete="javascript:location.reload(true)"/>

a4j:support包含一個可選的reRender屬性,該屬性可以在調用JSF偵聽器后強制重新加載JSF組件。

您可以嘗試:

<a4j:support event="onchange" ajaxSingle="false" reRender="myComp" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM