以下inputNumberSlider不会调用我的setter:
<rich:inputNumberSlider
value="#{skinningBean.currentSkin.button.backgroundColor_focussedAlpha}"
maxValue="1" step="0.1">
<a4j:ajax event="change" render="preview" oncomplete="initSlider()" />
</rich:inputNumberSlider>
public float getBackgroundColor_focussedAlpha() {
return backgroundColor_focussedAlpha;
}
public void setBackgroundColor_focussedAlpha(float backgroundColor_focussedAlpha) {
this.backgroundColor_focussedAlpha = backgroundColor_focussedAlpha;
}
我还尝试创建一个以字符串作为参数的setter,但它也没有被调用。答案是的,它是在一个表格内!我做错了什么?
编辑:似乎我不是唯一遇到此问题的人: http://osdir.com/ml/java-jsf-richfaces-issues/2010-10/msg00073.html
答案 0 :(得分:0)
这可能是由你的bean的范围引起的。
我发现,如果它来自javax.faces.bean
包,则组件不起作用,但它将与javax.enterprise.context
包一起使用。除javax.faces.bean.@ViewScoped
之外,范围的名称相同,您可以将其更改为javax.enterprise.context.@ConversationScoped