word导出时freeMarker转义字符的处理
2016-06-02 17:35
232 查看
根据ftl模板导出word时,如果填充的字符含有特殊字符< 、>、&,那么导出的word是无法打开的。因为这些字符在导出word时被认为是ftl的标签,正常导出后再打开是会报错。如果以xml的方式打开,会发现所有内容都是完整的,唯独上面三个特殊字符出问题。
为了解决这个问题,首先我新建一个word,在里面填上上面三个特殊字符,然后保存为xml。在该xml中找到对应的字符,发现已经转义了 < 对应< >对应> &对应&
可以看出,如果填充的是转义后的字符是可以正常打开的。所以要在填充字符之前检测私服是否含有上述特殊字符,如果有就需要转义。代码如下:
为了解决这个问题,首先我新建一个word,在里面填上上面三个特殊字符,然后保存为xml。在该xml中找到对应的字符,发现已经转义了 < 对应< >对应> &对应&
可以看出,如果填充的是转义后的字符是可以正常打开的。所以要在填充字符之前检测私服是否含有上述特殊字符,如果有就需要转义。代码如下:
/** * 处理转义字符 * @param str * @return */ private String transform(String str){ if(str.contains("<")||str.contains(">")||str.contains("&")){ str=str.replaceAll("&", "&"); str=str.replaceAll("<", "<"); str=str.replaceAll(">", ">"); } return str; }
相关文章推荐
- retrofit2+Executors+DiskLruCache 2秒加载100张图片从此告别OOM的困扰
- X-UA-Compatible失效问题
- Ubuntu Server 14.04 上安装WOWza
- 北航面试之操作系统部分
- 【C#】Color颜色对照表
- win7系统sass编译乱码无法通过解决
- 使用CocoaPods开发并打包静态库
- 指针的指针和指针的引用
- Linux常用命令:less 命令
- redis集群搭建
- Javascript实现时钟
- 学习vim命令:“:w !sudo tee %”
- iOS_隐藏顶部状态栏方式
- [ZooKeeper]纠正官网的Queue示例
- 第十三周【项目3-形状类族的中的纯虚函数】
- 在centos下搭建php环境
- 常量指针和指针常量
- IntelliJ IDEA15如何配置tomcat
- 史上最全的maven pom.xml文件教程详解
- dsquery心得