无论何时selectonemenu发生onchange事件,我都希望在Bean中触发一个方法,在该方法中,我将重定向到新页面。但是,该页面只是重新加载而不会进入功能或触发任何错误。
<ui:fragment rendered="#{productPage.isIncludeGroupings()}">
<div style="margin-left:auto;margin-right:auto;background-color:#F6F6F7;">
<h1 style="margin-bottom:5px;font-weight:bold;font-size:18px;text-transform:none;">View More Options x6:</h1>
<h:form>
<h:selectOneMenu value="#{product.name}" onchange="this.form.submit()" valueChangeListener="#{productPage.valueChange}" immediate="true">
<f:selectItems value="#{product.getProductGrouping()}" var="y" itemValue="#{y.memberName}" itemLabel="#{y.memberDescription}"/>
</h:selectOneMenu>
</h:form>
</div>
</ui:fragment>
我实际上无法进入该功能或在Eclipse控制台中看到打印语句。
public void valueChange(ValueChangeEvent e){
System.out.println("I was able to get in valuechange");
try {
routeManager.redirectToURL(routeManager.getRouteURL(RouteType.CATALOG_PRODUCT,"XL","T-Shirt"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
FacesContext.getCurrentInstance().renderResponse();
}