如何处理ftl(freemarker)中CDATA标记内指定的html锚标记

时间:2016-12-08 03:09:05

标签: java freemarker

我需要处理[CDATA]标签内的html锚点和目标标签。我的freemarker版本是2.3.18。

请告知如何使用freemarker escape或没有转义标记处理此问题。当我尝试添加转义标记时,值未达到ftl。不确定我做错了。

    <#assign cDataStart="<![CDATA[">
    <#assign cDataEnd="]]>">
    <tr class="planHeading">
     <#assign xlist = plan.column> // plan.column is list of strings
      <#list xlist as x>
        <h2 id="planMed">
            ${cDataStart}${x?replace("<br>", cDataEnd+"<br />"+cDataStart)}${cDataEnd}   // x consist "You pay INR 0.00 <br>**For more information regarding, please click <a href=https://www.example.com/a.pdf target=_blank>here</a>."
         </h2>
      </#list> 
    </tr>  

$ {x}的预期输出:

"You pay INR 0.00 <br>**For more information regarding, please click here"

当前输出:

"You pay INR 0.00 <br>**For more information regarding, please click <a href=https://www.example.com/a.pdf target=_blank>here</a>"

1 个答案:

答案 0 :(得分:0)

使用${x?no_esc}

或者,您可以关闭整个模板的自动转义,添加

<#ftl autoesc=false>

在第一行。

有关详细信息,请参阅http://freemarker.org/docs/dgui_misc_autoescaping.html