场景:由于出于安全机制的考虑,所以通常会把存入数据库中的某些html特殊字符进行转义,例如空格转义后存到数据库就会变成“ ”,但是这些数据库中的字符传到Freemaker页面,然后页面再进行转化成pdf会出现错误,现总结几个解决方法写给大家以供参考:
1、直接在ftl页面的头部进行定义,把ftl页面上可能出现的已经转义过的html特殊字符再重新定义成它们原本所代表的意思,具体实现如下:
<span style="white-space:pre"> </span><!DOCTYPE html[
<!ENTITY nbsp " ">
<!ENTITY mdash "—">
<!ENTITY trade "™">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY lt "<">
<!ENTITY gt ">">
<!ENTITY times "×">
<!ENTITY divide "÷">
<!ENTITY acute "'">
]>
这样就使得ftl页面上出现html转义后的特殊字