Почему rich:inputNumberSlider не обновляет компонент поддержки (@Managed Bean)
inputNumberSlider
из Richfaces не удается в моем случае немедленно обновить компонент поддержки. Метод установки никогда не вызывается. Я правильно сказал, что поле бина должно обновляться при изменении?
<rich:inputNumberSlider
id="severityLevel"
value="#{pubController.severityLevel}"
minValue="1"
maxValue="3"
maxlength="1" />
Я установил точку останова в методе установки, но она никогда не повышается. Я должен сказать, что это работает правильно для всех h:inputText
теги.
1 ответ
setSecurityLevel
сеттер никогда не будет вызван, пока вы не отправите форму, где ваш rich:inputNumberSlider
содержится.
Кроме того, вы можете установить значение всякий раз, когда 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>
Обычно такое поведение не требуется, если только вы не хотите выполнять какую-либо проверку, когда пользователь изменяет входное значение (это также может быть полезно для визуализации зависимых компонентов). В большинстве случаев проверка выполняется для всех компонентов после публикации всей формы.