我正在尝试使用richfaces inputNumberSlider 或inputNumberSpinner。
问题是我无法更新 bean 中的值。
这是我尝试的两种解决方案:
1)
<rich:inputNumberSlider value="#{skinningBean.currentSkin.topBar.bannerXOffset}"
valueChangeListener="#{skinningBean.valueBannerXOffSetChangeListener}"
onchange="A4J.findForm(this).submit()">
</rich:inputNumberSlider>
在豆子里:
public void valueBannerXOffSetChangeListener(ValueChangeEvent event) {
System.out.println("x value changed");
currentSkin.getTopBar().setBannerXOffset((Integer) event.getNewValue());
}
2)
<rich:inputNumberSpinner value="#{skinningBean.currentSkin.topBar.bannerYOffset}">
<a4j:ajax event="change" render="preview" oncomplete="initSlider()" />
</rich:inputNumberSpinner>
这应该只是在 bean 中调用我的 setter。我写了两个setter,一个接受String,另一个接受Integer。他们都没有被称为
尽管无论如何我都需要一个 a4j 支持来重新渲染我的项目,但首选 2 号的工作解决方案