2012-09-24 32 views
5

我在Play中使用國際化消息文件。在我messages.en文件我有:Play Framework消息中的html標記

support.msg=Click here to contact <a href="support.html">support</a> 

不過這樣會輸出

&lt;a href=&quot;support.html&quot;&gt;support&lt;/a&gt; 

是否有可能逃脫messages.en文件HTML,所以他們輸出「是」

+0

更具挑戰性的問題是如何避免硬編碼的網址,使這樣說:support.msg =點擊此處聯繫support cosmolev

回答

15

默認情況下,Play!自動轉義視圖中使用的字符串。如果您想輸出原始文本(包括HTML),請將該變量包裝在Html()中。

Example from the docs

<p> 
    @Html(article.content)  
</p> 
+3

THX - 爲這並獲得成功對我來說:@Html (Messages(「queryPage.supportText」)) – Kevin

+0

此外,您最好將消息留在標記之外,然後放置需要i18​​n的文本。這樣,如果鏈接改變了,或者你改變了「支持」功能,你只需要在你的路線中改變它。 –

+1

實際上,對於經常更改的標籤,最好將它們放在數據庫中,這樣您就可以在不重新部署整個應用程序的情況下對其進行更改,提示:使用常見緩存可避免頻繁的數據庫查詢。 – biesior