Java 如何从支持bean刷新整个JSF页面

Java 如何从支持bean刷新整个JSF页面,java,jsf,richfaces,Java,Jsf,Richfaces,JSF页面上有一个rich:comboBox,其中有一个valueChangeListener,用于调用支持bean函数: <rich:comboBox id="cbmodel" defaultLabel="${accessUtils.activeRole}" value="${accessUtils.activeRole}" style="float: right;" valueChangeListener="${accessUtils.valueChangeListener}" &

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>
public void valueChangeListener(ValueChangeEvent event){  
System.out.println("EVENT: HAS BEEN CALLED " + event.getNewValue());  
    setActiveRole((String) event.getNewValue());
}
我们如何让这个函数重新加载包含rich:comboBox的JSF页面


感谢您的帮助。

您可以尝试以下方法:

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

a4j:support包含一个可选的reRender属性,可以在调用JSF侦听器后强制JSF组件重新加载

您可以尝试以下方法:

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

您可以使用JS的
oncomplete
属性强制重新加载整个页面,如果您想这样做的话,比如:

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

您可以使用JS的
oncomplete
属性强制重新加载整个页面,如果您想这样做的话,比如:

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


这正是我想要的。谢谢这正是我想要的。谢谢