Richfaces valueChangeEvent输入无效

时间:2013-03-28 09:44:55

标签: jsf richfaces javabeans ajax4jsf

我正在尝试使用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 supprt来重新渲染我的物品,但是首选的是2号工作解决方案

1 个答案:

答案 0 :(得分:-1)

首先尝试以下操作,一旦开始工作,您可以添加 oncomplete 部分:

<rich:inputNumberSpinner value="#{skinningBean.currentSkin.topBar.bannerYOffset}">
  <a4j:ajax event="onchange" render="preview" action="#{bean.valueBannerXOffSetChangeListener}" />
</rich:inputNumberSpinner>

可能需要重新定义bean函数以不接收参数。

参考: https://community.jboss.org/message/588944#588944