Richfaces的inputNumberSlider
在我的情况下无法立即更新支持bean。永远不会调用setter方法。我说对了,应该在更改时更新支持bean字段吗?
<rich:inputNumberSlider
id="severityLevel"
value="#{pubController.severityLevel}"
minValue="1"
maxValue="3"
maxlength="1" />
我确实在setter方法中设置了一个断点,但它从未上升过。我必须说,它适用于所有h:inputText
标签。
答案 0 :(得分:1)
在您提交包含setSecurityLevel
的表单之前,永远不会调用rich:inputNumberSlider
setter。
或者,您可以在inputNumberSlider
更改时设置值,每个事件处理添加一个ajax,这将执行您的组件(我不使用richfaces,但这将是所需的格式) :
<h:form>
<rich:inputNumberSlider id="severityLevel" value="#{pubController.severityLevel}"
minValue="1" maxValue="3" maxlength="1" >
<a4j:ajax event="change" execute="@this" />
</rich:inputNumberSlider>
</h:form>
通常,除非您想在用户更改输入值时执行某种验证(这也可能对render dependent components有用),否则这种行为是不需要的。在大多数情况下,一旦发布整个表单,就会对所有组件执行验证。