原文: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>”是顯示不出來的,這個時候可以采用字符轉義的方式,比如:
${'</@cfw.column''},這樣顯示的結果就是:</@cfw.column>