咨詢
交流群
電話

文章詳細頁的正文字段包含html標簽

文檔 > 常見問題 2018-07-09 17:37 閱讀

文章的正文字段使用的是富文本編輯器,可以直接在編輯器里面進行排版,最終保存到數據庫的是html格式的數據,如:

<p>這是正文</p>
<p>正文第一段</p>
<p>正文第二段</p>

這些內容作為html顯示到瀏覽器時,并不會把html標簽<p>...</p>顯示出來,而只顯示標簽里面的內容。比如:

這是正文
正文第一段
正文第二段

但是為了防止xss跨站腳本攻擊,通常模板會對輸出的內容做html轉義,也就是會把< >轉義成&lt; &gt;,這樣就會直接把html標簽顯示出來。

freemarker通常用?html進行轉義,如${text?html},這種方式要對每一個輸出的變量都進行轉義。

還有一種方式可以對一段的freemarker代碼都進行轉義,如:

[#escape x as (x)!?html]
...
${text}
...
[/#escape]

這就是正文中會出現html標簽的原因。注意模板的開頭和結尾是否包含這些代碼,如果包含,則代表會對所有輸出的變量都進行html轉義。

如果希望某些變量不要做html轉義,可以使用下面的方式解決這個問題:

[#escape x as (x)!?html]
...
[#noescape]${text}[/#noescape]
...
[/#escape]
汝州市| 泽库县| 绥阳县| 凤山市| 塔河县| 上杭县| 若羌县| 个旧市| 左贡县| 镶黄旗| 阳谷县| 庆阳市| 中西区| 寿阳县| 阳新县| 绍兴市| 治县。| 南郑县| 安陆市| 新源县| 桂平市| 盘锦市| 邮箱| 洮南市| 扶绥县| 家居| 商都县| 田东县| 舟山市| 贵定县| 太保市| 吴忠市| 丰原市| 保山市| 宜丰县| 樟树市| 延川县| 苗栗县| 织金县| 望谟县| 和硕县|