Spring's ResourceBundleMessageSource
(который, я думаю, вы используете) использует MessageFormat
для замены заполнителей ({0}
) внутри сообщений.MessageFormat
требует экранирования одинарных кавычек ('
) с использованием двух одинарных кавычек (''
) (см .: MessageFormat Javadoc ).
Однако по умолчанию сообщения,содержать любые аргументы, не будут проанализированы MessageFormat
.Поэтому одиночные кавычки в сообщениях без аргументов не нужно экранировать.
ResourceBundleMessageSource
предоставляет флаг с именем alwaysUseMessageFormat
, который можно использовать, если MessageFormat
должен применяться ко всем сообщениям.Таким образом, одиночную кавычку всегда нужно экранировать двумя одинарными кавычками.
См. сообщение в блоге для получения более подробной информации.