У меня есть вопрос о сообщениях MessageSource в Spring Boot (1.4.1) и Thymeleaf (3).
Файл app.properties
app.quotes=Francesco's title
app.quotes2=Francesco''s title
В page.html, когда я печатаю сообщения
<h2 th:text="#{app.quotes}"></h2>
<h2 th:utext="#{app.quotes}"></h2>
<h2 th:text="#{app.quotes2}"></h2>
<h2 th:utext="#{app.quotes2}"></h2>
Я получаю точно (th:text или th:utext не имеет значения)
- титул Франческо
- титул Франческо
- титул Франческо
- титул Франческо
В моем контроллере
private final Logger log = LoggerFactory.getLogger(this.getClass());
@Autowired
private MessageSource messages;
@RequestMapping(value="/page", method = RequestMethod.GET)
public String page() {
String text = messages.getMessage("app.quotes", null, LocaleContextHolder.getLocale());
String text2 = messages.getMessage("app.quotes2", null, LocaleContextHolder.getLocale());
log.debug("text = " + text);
log.debug("text2 = " + text2);
// Output
return "page";
}
Текст, который я регистрирую,
text = Francescos title
text2 = Francesco's title
Это предсказуемо, потому что одинарные кавычки в сообщениях о свойствах должны быть экранированы двойными одинарными кавычками ("название Франческо" должно быть правильным текстом). Как я могу заставить Thymeleaf печатать сообщение, избегая двойных одинарных кавычек, как это делает MessageSource, или MessageSource, чтобы возвращать обычный текст, как это делает Thymeleaf? Я бы не хотел использовать разные ключи/значения в зависимости от вызывающего абонента.
Заранее благодарю за любую помощь.