所以我试图渲染一些从xml服务返回的CDATA。 返回的数据格式为:
<Characteristic>
<name>What to do what to say</ns32:name>
<value><![CDATA[<br> Line1 </br> Line2]]></value>
<orderCharacteristic>
然后我使用以下代码在ftl文件中显示此值:
<#if Characteristic.name="What to do what to say">
<#assign whatToSay=orderCharacteristic.value>
</#if>
${whatToSay}
Noramlly它应该显示为:
Line1
Line 2
但是,无论何时我尝试显示该值,它都显示为:
Line1
Line 2]]>
不确定我为什么会得到]]&gt;最后,如果我删除它,xml被正确读取,并且消息也正确显示,但是什么是困扰我的原因。
答案 0 :(得分:1)
因为写入HTML的内容是
<![CDATA[<br> Line1 </br> Line2]]>
HTML不理解CDATA这样的块,因此它将其解释为
<![CDATA[<br> -- bogus comment
Line1 -- text
<br> -- line break
Line2]]> -- text