2017-05-27 22 views
0

Thymeleafエンジンを使用して、自分のアプリケーションからhtml電子メールを送信したいと思います。私は、テンプレートにバインドするとき、私はHTML形式の電子メールを送信することができ、問題が来る、のは Spring + thymeleaf html電子メールテンプレート、メッセージにhtmlタグを追加する方法は?

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> 
<head></head> 
<body> 
    <span th:text="${message}"></span> 


</body> 
</html> 

${message}

は、コントローラから来て、それはだと、国際化されたメッセージとしましょう、私はこのよう

String message = messageSource.getMessage("email_message", null, locale); 
でそれを得ます

messageにhtmlタグを追加することは可能ですか?locale に応じて、email_messageがmessages_xx.propertiesファイルにありますか?

私は電子メールで

Hello <b>User</b><br/>Welcome! 

ような何かを書く場合はタグが

答えて

0

Unescaped Textを試して解析されないよう、私は、文字通り、このメッセージが表示されます:

<span th:utext="${message}"></span> 

textこと - >utext変更。

は、HTML特殊文字をエスケープしません、それはそのままテキストを出力して(のような<は、>&が)、つまり、それは、&lt;、「>」、「&」にそれらを回していません。

挿入するテキストが完全に信頼できるソースから来ない場合は、このような構成ではXSS攻撃のための穴が残っていることにご注意ください。もちろん、自分で作成したプロパティファイルのテキストだけを挿入したいのであれば、それは問題ありません。

+0

ありがとう、私は春の中で何かを見ていた、直接Thymeleafに考えられていない! – besmart

関連する問題