У меня есть сообщение, которое я хотел бы бросить в HTML-страницу, и я хотел бы, чтобы он был чувствительным к количеству вещей, которые печатали. java.text.ChoiceFormat
на помощь, правда?Как я могу помещать символ меньшего размера в шаблон ChoiceFormat?
text.messages=You have {0,choice,1#<b>one</b> message|1<<b>{0}</b> messages} waiting for you
Этот результат ошибки в конструкторе ChoiceFormat
«s:
java.lang.IllegalArgumentException: Choice Pattern incorrect: 1#<b>one</b> message|1<'<b>'{0}'</b>' messages
Я сужен вниз проблема в <
символ в сообщении. Нет проблем: Я не буду использовать MessageFormat
«S процитировать возможности исправить это:
text.messages=You have {0,choice,1#'<b>'one'</b>' message|1<'<b>'{0}'</b>' messages} waiting for you
К сожалению, это также не:
java.lang.IllegalArgumentException: Choice Pattern incorrect: 1#<b>one</b> message|1<''<b>''{0}''</b>'' messages
Обратите внимание, как одной кавычки (экранирующих символов для MessageFormat
) удвоены в сообщении об ошибке. Я чувствую, что я рядом, но я не могу найти документацию, в которой объясняется, как использовать специальные символы, такие как <
в шаблоне ChoiceFormat
.
Вот полный стек трассировки я получаю, когда это не удается:
Caused by: java.lang.IllegalArgumentException: Choice Pattern incorrect: 1#''<b>''one''</b>'' message|1<''<b>''{0}''</b>'' messages
at java.text.MessageFormat.makeFormat(MessageFormat.java:1519)
at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
at java.text.MessageFormat.<init>(MessageFormat.java:362)
at org.apache.struts.util.MessageResources.getMessage(MessageResources.java:305)
at org.apache.velocity.tools.struts.MessageTool.get(MessageTool.java:158)
at org.apache.velocity.tools.struts.MessageTool.get(MessageTool.java:125)
at org.apache.velocity.tools.struts.MessageTool.get(MessageTool.java:192)
[...]
Я согласен с голосованием, чтобы закрыть, но я думаю, что ответ имеет некоторую полезность. Я с удовольствием переработал этот вопрос, чтобы как он, так и ответ были лучше подходят для формата SO с вопросом о том, как заставить персонажей требовать ускорения работы с пакетами ресурсов Struts. –