"Неверный синтаксис аргумента" с MessageFormat
Я получил это html
синтаксис, который заполняется с помощью MessageFormat
:
private final String WRAPPABLE_HTML = "<html><head>"
+ "<style>div:after{text-decoration: line-through;}"
+ "</style></head>"
+ "<body style='width:{0}px;margin: 0 auto;'><div>{1}</div>{2}</body></html>";
если я позвоню:
MessageFormat.format(
WRAPPABLE_HTML, 200, lCat,lDog);
Я получил:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Bad argument syntax: text-decoration: lin ...
at com.ibm.icu.text.MessagePattern.parseArg(MessagePattern.java:1106)
at com.ibm.icu.text.MessagePattern.parseMessage(MessagePattern.java:1042)
без style
В разделе все отлично работает. Я использовал какой-либо keyword
в пределах style
атрибуты?
Спасибо за вашу помощь.
Стефан
1 ответ
Решение
Вы должны избежать фигурных скобок:
private final String WRAPPABLE_HTML = "<html><head>"
+ "<style>div:after'{'text-decoration: line-through;'{'"
^ ^
+ "</style></head>"
+ "<body style='width:{0}px;margin: 0 auto;'><div>{1}</div>{2}</body></html>";