zoukankan      html  css  js  c++  java
  • freemaker转word xml注意事项

    java类字符串变量如果含有以下2种字符: &和  <,必须转义否则转化将失败。

    其中:

    &替换成 &amp;

    <替换成 &lt;

    因为一些怪字符数据库存储时已转义了,从数据读取必须先转义,然后再进行替换。

    下面是五个在XML文件中预定义好的实体:

    &lt; < 小于号
    &gt; > 大于号
    &amp; & 和
    &apos; ’单引号
    &quot; " 双引号


    注意: 只有"<" 字符和"&"字符对于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;
      }
  • 相关阅读:
    java----session
    js封装成插件-------Canvas统计图插件编写
    js封装成插件
    js学习--变量作用域和作用域链
    学习js函数--自执行函数
    学习js函数--函数定义
    footer不满一屏时在最底部,超出一屏时在页面最下部
    ios 点击区域阴影问题
    提交表单后数据返回时间过长
    点击显示video
  • 原文地址:https://www.cnblogs.com/janehlp/p/3922434.html
Copyright © 2011-2022 走看看