2014-11-06 5 views
1

В моем приложении мы используем некоторые поля ввода напрямую, а некоторые - через шаблон. Странно то, что на входном поле в шаблоне разделитель представляет собой точку (.), А те, которые находятся за пределами шаблона, равны 0,f: convertNumber не форматирует seperator правильно в ui: состав

Оба текста ввода полностью равны, мы даже пытались установить одинаковый язык для обоих без успеха:

в этом фрагменте это,

<p:inputText value="#{manageContracts.dieselFloater}" 
                   id="dieselFloater" required="true"> 
                   <f:convertNumber maxFractionDigits="2" 
                    minFractionDigits="2" locale="de"/> 
                  </p:inputText> 

в этом, это. (внутри ui: состав):

<p:inputText value="#{_price}" style="width:140px"> 
        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" locale="de" /> 
       </p:inputText> 

У кого-нибудь есть идеи?

ответ

0

Вы можете использовать pattern="" в <f:convertNumber>, чтобы указать, хотите ли вы точку (.) Или кому (,).

См документации: http://www.jsftoolbox.com/documentation/help/12-TagReference/core/f_convertNumber.html

Смотрите пример: http://www.mkyong.com/jsf2/jsf-2-convertnumber-example/

EDIT:

Чтобы исправить десятичный разделитель, см это временное решение: JSF Locale Change Listener not persistent

Он состоит обернуть <ui:composition> в a <f:view locale="de">

+0

Привет, добавив шаблон = "# 0,00" тоже не работал. <р: inputText значение = "# {bean.price}" стиль = "ширина: 140px"> \t user3172567

+0

@ user3172567 Попробуйте проверить отображаемый HTML, чтобы убедиться, что это действительно не кома. Он может отображаться как точка, если ваш контейнер обрезается другим элементом или ваш переполнение скрывается. – Thrax

+0

, проверяя код html, он говорит value = "199.38". Я не знаю, почему он полностью игнорирует шаблон и/или локаль. – user3172567