0

在我的inputNumberSlider情况下,Richfaces 无法立即更新支持 bean。永远不会调用 setter 方法。我说得对,应该在更改时更新支持 bean 字段?

<rich:inputNumberSlider 
id="severityLevel" 
value="#{pubController.severityLevel}"
minValue="1" 
maxValue="3" 
maxlength="1" />

我确实在 setter 方法中设置了一个断点,但它永远不会上升。我必须说,它适用于所有h:inputText标签。

4

1 回答 1

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>

通常,这种行为是不需要的,除非您想在用户更改输入值时执行某种验证(渲染依赖组件也可能很有用)。在大多数情况下,一旦您发布整个表单,就会对所有组件执行验证。

于 2013-08-31T13:36:37.690 回答