【轉】Freemarker輸出$和html標簽等特殊符號


      原文:http://blog.csdn.net/achilles12345/article/details/41820507 

  場景:程序員都不喜歡看文檔,而更喜歡抄例子。所以,我們把平台組的組件都做成例子供別人參考。我們前端展示層使用的是freemarker,所以遇到這個問題,比如我們要讓前端顯示freemarker自己的源碼時就有問題了(因為我們例子程序的頁面也是使用freemarker)。遇到的問題如下:

        1、如何顯示html源碼,而不是讓瀏覽器解析這些html,方法是使用freemarker的html轉義。

              比如我們顯示img標簽,就是如此:${'<img src="xxxxxxx"/>'?html},這樣最終在頁面上展示的內容就是:<img src="xxxxxxx"/>,而不會被瀏覽器解析。

         2、顯示freemarker源碼,比如${}符號,則可以如下:

              ${r'${obj.name}'},這樣最終顯示的結果就是:${obj.name},而不會被freemarker解析。這里要注意,前邊那個標紅的“r”字符是關鍵點。

         3、自定義宏的結束符號不能出來的解決辦法:比如我們自定義了個宏叫做:<@cfw.column></@cfw.column>,如果要顯示源碼,結束的那個符號"</@cfw.column>”是顯示不出來的,這個時候可以采用字符轉義的方式,比如:

              ${'&lt;/@cfw.column''},這樣顯示的結果就是:</@cfw.column>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM