Я пишу приложение JSF (ICEfaces), используя пакеты ресурсов для обработки интернационализации.Настройка локализации форматирования с плавающей запятой для JSF/ICEfaces?
Приложение красиво применяет (по умолчанию) голландский язык «nl» для набора ресурсов, но не может применять один и тот же язык при форматировании чисел с плавающей запятой, даже если я явно установил языковой стандарт для страницы, используя <f:view locale="nl">
.
Как сделать число с плавающей запятой, следуя текущему языку?
Небольшой тест показал мне, что простое "<е: convertNumber />" уже достаточно в моем случае. Я озадачен тем, почему JSF по умолчанию не форматирует float для текущей локали, но ваше решение работает как шарм. Благодаря! – Timo
'outputText', вероятно, не имеет прямой поддержки чисел; ему будет предоставлен объект (например, 'java.lang.Double') и вызовите' toString' на нем на выходе. У 'inputText' также не будет прямой поддержки; при вводе строки, язык выражения принудительно возвращает его в двойное значение в соответствии с его правилами для принуждения типа. Для более сложной логики требуется конвертер. Это мощная модель, поскольку вы можете конвертировать в/из любого типа, не требуя управления вводом/выводом для поддержки преобразования. – McDowell
Вы правы! Проблема заключается в неявном Java Float.toString(), который не учитывает настройку локали (даже для ОС). тег эффективно сообщает, что outputText использует преобразование строк в локали. –
Timo