首页 > 代码库 > freemaker转word xml注意事项
freemaker转word xml注意事项
java类字符串变量如果含有以下2种字符: &和 <,必须转义否则转化将失败。
其中:
&替换成 &
<替换成 <
因为一些怪字符数据库存储时已转义了,从数据读取必须先转义,然后再进行替换。
下面是五个在XML文件中预定义好的实体:
< < 小于号
> > 大于号
& & 和
' ’单引号
" " 双引号
注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是个好习惯。
转义函数: 对变量进行转义。
public String formatString(Object obj){ String str=""; if(obj!=null){str= obj.toString();}; if(!StringUtils.isBlank(str)){ String escaped = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(str); if(escaped.indexOf("&")>=0){ escaped = escaped.replace("&", "&"); } else if(escaped.indexOf("<")>=0){ escaped = escaped.replace("<", "<"); } return escaped; }else{ return " "; } }
用法:
i = 1;for (MonographVo vo : monographVos) { String monographname = formatString(vo.getMonographname()); dataMap.put("b8a" + i,monographname); String publisher = formatString(vo.getPublisher()); dataMap.put("b8b" + i,publisher); String yearandpage=formatString(vo.getYearandpage()); dataMap.put("b8c" + i,yearandpage); String allauthor=formatString(vo.getAllauthor()); dataMap.put("b8d" + i,allauthor); ++i; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。