2012-09-24 29 views
5

Tôi đang sử dụng tệp tin Tin nhắn quốc tế trong Play. Trong tập tin messages.en của tôi, tôi có:đánh dấu html trong thông báo Khung Chơi

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

nhưng điều này được đầu ra như

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

Có thể thoát html trong file messages.en vì vậy họ là đầu ra 'như là'

+0

câu hỏi đầy thách thức hơn là làm thế nào để tránh hardcoding URL và làm cho nó theo cách này: support.msg = Bấm vào đây để liên hệ support cosmolev

Trả lời

15

Theo mặc định, Play! tự động thoát chuỗi được sử dụng trong chế độ xem. Nếu bạn muốn xuất văn bản thô (bao gồm cả HTML), hãy quấn biến trong Html().

Example from the docs:

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

Thx - cho điều này đã làm các trick cho tôi: @Html (Messages ("queryPage.supportText")) – Kevin

+0

Ngoài ra, bạn có thể tốt hơn để rời khỏi đánh dấu ra khỏi các tin nhắn, và chỉ cần đặt văn bản mà bạn cần i18n. Bằng cách đó, nếu liên kết thay đổi hoặc bạn thay đổi cách các chức năng "hỗ trợ", bạn chỉ phải thay đổi nó trong các tuyến đường của bạn. –

+1

Trên thực tế, đối với nhãn thường xuyên thay đổi, tốt nhất là đặt chúng trong cơ sở dữ liệu, vì vậy bạn có thể thay đổi nó mà không cần triển khai lại toàn bộ ứng dụng, gợi ý: sử dụng bộ nhớ cache thông thường bạn sẽ tránh truy vấn DB thường xuyên. – biesior

Các vấn đề liên quan