2016-03-01 8 views
3

У меня есть следующий код, чтобы показать сумму в качестве валюты:типа FMT FormatNumber = «валюта» показывает «¤» вместо фактической валюты символ

<fmt:formatNumber type="currency" value="${camp.montoTotal}"/> 

При запуске приложения в Eclipse (на самом деле я использую STS), он выглядит неплохо: «$ 500». Но когда я разворачиваю WAR-файл на сервер (используя Tomcat8 на Ubuntu LTS 14.04), он показывает «¤500», т. Е. Показывает общий маркер валюты вместо фактического знака. Я попытался установить локаль с:

<META http-equiv="Content-Language" content="es-AR"> 
<fmt:setLocale value="es-AR"/> 

но с тем же результатом. Почему это может быть?

+0

Я нашел что-то странное: эта проблема возникает только с Chrome! Если я использую IE или Edge, он правильно показывает знак $. Кроме того, если я просматриваю сайт из Chrome, IE или Edge, который обслуживается с сервера Eclipse в localhost, он отлично работает. Комбинация, которая терпит неудачу, - это удаленный сервер Tomcat + Chrome. Пробовал Chrome на смартфоне, а также не удалось. –

ответ

1

Я наконец нашел ответ!

Первоначально у меня был компонент messageSource, настроенный в app-config xml. Когда я переместил его в applicationContext xml, проблема была решена. Я должен был это сделать, потому что у меня также были проблемы при попытке доступа к свойствам сообщения в контроллере с функцией getMessage.

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
     <property name="basename" value="messages"/> 
    </bean> 

Заключение: messageSource должен быть сконфигурирован в контексте приложения, а не в корневой конфигурации xml.

1

первый, вам нужно импортировать библиотеку тегов:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 

рядом, отбросили страну с Setlocale

<fmt:setLocale value="es-AR"/> 

, то вы можете форматировать число с FormatNumber тег

<fmt:formatNumber value="${camp.montoTotal}" type="currency" currencySymbol="$"/> 

в атрибуте вы можете добавить currencySymbol, который хотите использовать.

Надеюсь, это поможет вам. С уважением,

Смежные вопросы