2017-05-03 69 views
0
task.addText(comment); 

此評論帶有HTML標籤。所以,當我們發出此評論的郵件,我們看到HTML編碼像這樣的郵件:如何在Java中禁用編碼HTML

<h3>asdasas as<b>asdasdas</b>dasdas<u>dasdasdasd<strike>asdasdasdsadasdasdas<span id="selectionBoundary_1493731518682_030677381665187298" class="rangySelectionBoundary"></span></strike></u></h3> 

我想看到的不是標籤,我想看看做什麼標籤的UI。

這是從數據庫電子郵件電子郵件正文部分:

b&gt;asdasdas&lt;/b&gt;dasdas&lt;u&gt;dasdasdasd&lt;strike&gt;asdasdasdsadasdasdas&lt;span id=&quot;selectionBoundary_1493731518682_030677381665187298&quot; class=&quot;rangySelectionBoundary&quot;&gt;&lt;/span&gt;&lt;/strike&gt;&lt;/u&gt;&lt;/h3&gt;</td>\n 

這是郵件的HTML部分:

<p th:if="${!commentsInTask.empty}">Tüm yorumlar: </p> 
<table 

    <tbody> 
    <tr th:each="allComments : ${comments}"> 
    <tr th:each="comment : ${comments}"> 
    </tr> 
    </tr> 
    </tbody> 
</table> 
</body> 
</html> 

通常沒有解碼,但是我從看到這裏

Java: How to unescape HTML character entities in Java?

,這樣做,

comment=StringEscapeUtils.unescapeHtml(comment); 

,但沒有奏效。

這是從評論分貝:

<h3>asdasas as<b>asdasdas</b>dasdas<u>dasdasdasd<strike>asdasdasdsadasdasdas<span id="selectionBoundary_1493731518682_030677381665187298" class="rangySelectionBoundary"></span></strike></u></h3> 

是相同的電子郵件DB

但它不應該改變了標籤& LT

因此,這意味着我想要逃避的HTML。我試圖

escapeHtml but did not work. 

HtmlEscapers.htmlEscaper().escape(comment) 

我們也有這個,而把爲HTML

Context context = new Context(Locale.forLanguageTag("tr-TR")); 
context.setVariables(comment); 

和thymeleaf沒有工作。轉換爲<td th:utext is not working.

據那些

語境上下文=新的上下文之間發生(Locale.forLanguageTag( 「TR-TR」));

context.setVariables(mail.getParams()); 

String process = templateEngine.process(mail, context); 

因爲之前

Context context = new Context(Locale.forLanguageTag("tr-TR")); 

沒有什麼。在該行之後,

context.setVariables(mail.getParams()); 

它變成解碼。

+0

你應該設置的批評是對的innerHTML的HTML頁面上的一個節點,而不是將其作爲文本輸入的值。 – MozenRath

回答

0

我想發現:

<td th:utext="${Comment}" th:remove="tag" >message ...</td> 

添加刪除標籤和utext