Я новичок в JSF, поэтому этот вопрос может быть странным. У меня есть значение компонента inputText, привязанное к свойству управляемого компонента типа Float. Мне нужно установить свойство в null, когда поле inputText пусто, а не в 0 значение. По умолчанию это не сделано, поэтому я добавил конвертер с использованием следующего метода:
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) throws ConverterException {
if (StringUtils.isEmpty(arg2)) {
return null;
}
float result = Float.parseFloat(arg2);
if (result == 0) {
return null;
}
return result;
}
Я зарегистрировал конвертер и назначил его компоненту inputText. Я зарегистрировал аргумент arg2, а также записал возвращаемое значение из метода getAsObject. По моему журналу я вижу, что он возвращает нулевое значение. Но я также записываю свойство setter на базовый компонент, и аргумент равен 0, а не нулю, как ожидалось. Чтобы быть более точным, это свойство setter вызывается дважды, один раз с нулевым аргументом, второй раз с 0 значением аргумента.
Он по-прежнему устанавливает значение вспомогательного компонента на 0. Как я могу установить значение на ноль?
Спасибо заранее.