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


場景:程序員都不喜歡看文檔,而更喜歡抄例子。所以,我們把平台組的組件都做成例子供別人參考。我們前端展示層使用的是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>

 
                var row = $('#datagrid').datagrid('getSelected');
                    var activityId = "${activityId}";
                    var result = "${r'${"+activityId+"-"+row.eleId+"}'}";  

 




免責聲明!

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



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