2016-08-03 1 views
2

Как заменить символ - в тексте, который поступает из базы данных в яшмовое поле, с изображением? Цель состоит в том, как на рисунке внизу:Как заменить символ на изображение в формате Unicode?

goal

Что-то вроде: $F{KN_Zusatzinfo_DV_Einleitungstext}.replaceAll("- ", "[\\x254]") где x254 является ASCII код для красного квадрата.

Но приведенный выше код записывает ascii-код как есть в тексте и не создает изображение.

+0

Вы можете попробовать сыграть с разметкой –

ответ

3

Правильный синтаксис для отображения символа Юникода \uXXXX

Например это выражение:

$F{listItem}.replaceAll("-", "\u2588") 

Будет оказывать этот

Output

Теперь вы как точка быть красным поэтому мы должны применить некоторый стиль, позволяет установить markup="html" на textElement и изменить заменить на эту

$F{listItem}.replaceAll("-", "<font color=\"red\">\u2588</font>") 

Он воздаст:

Red dots

Примечание: Вам нужно чтобы быть осторожным с регулярным выражением в replaceAll, я, вероятно, был бы ^-, поэтому начинается с - (во избежание замены других - в тексте), , кроме того, обычным способом было бы просто добавить красный прямоугольный элемент на каждой строке. Также позаботьтесь о шрифтовых-расширениях, если вы экспортируете в PDF, чтобы ваш шрифт визуализация правильно

+0

я изменил разметку стиля вместо HTML. HTML опущены все мои новые строки. Но стиль отлично работал – Iman

+1

@Iman в html '
' это новая строка не '\ n', я думаю, что другой replaceAll исправит это:) –

+0

Хороший ответ и правильно объяснил +, – SpringLearner

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