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