0

エスケープしたい生データを含む文字列があります。文字列には、span タグに置き換えたいマーカーも含まれています。

たとえば、私の文字列は

"何とか{0}スパンする何か{1} < ランダムな文字 <"

上記を div 内でレンダリングし、{0} を {1} に置き換えたい

コントローラーで置換を行う、 th:utext属性を使用するなど、さまざまなことを試しましたが、SAX 例外が発生します。

何か案は?

4

2 に答える 2

1

i18n を使用してこれを行うことができますか?

何かのようなもの:

リソースのプロパティ:

string.pattern=my name is {0} {1}

タイムリーフ ビュー:

<label th:text="#{__${#string.pattern('john', 'doe')}__}"></label>

結果は次のようになります。

my name is john doe

これが良い方法かどうかはわかりません。しかし、それがあなたに役立つことを願っています

于 2013-06-11T11:49:36.757 に答える
1

フォーマットされた文字列を出力するには、メッセージ パラメータを使用するのが正しい方法のようです。http://www.thymeleaf.org/doc/usingthymeleaf.html#messagesを参照してください

SAX例外を回避するために、文字エンティティ参照を渡す必要があると思われます

<span th:utext = "#{string.pattern(${'&lt;span&gt;john&lt;/span&gt;'}, ${'&lt;span&gt;doe&lt;/span&gt;'})}"/>

または、マークアップを .properties ファイルに配置します。

string.pattern=my name is <span>{0}</span> <span>{1}</span>
于 2014-11-13T16:49:44.030 に答える