在word排版过程中经常遇到占位符过长导致排版混乱的问题,如单元格内容换行影响行高(由一行变成了多行)(如果不显示的设置行高,在解析完成后还会变成一行,所以占位符长度不影响最终样式)
但为了版面清晰通过需要把占位符或标签在空白处预先定义好,在实际输出的位置引用

预定义一个标签
与其他标签不同的是 预定义标签有id,在解析完成后预定义变量和标签会被清空
<aol:date format="yyyy-MM-dd HH:mm:ss" id="A1"/>

引用预定义标签 aol:标签ID
如果引用时没有设置相应的属性则默认预定义时的属性
<aol:A1 value="${item.REG_TIME}"/> 或 <aol:date ref="A1"/>

如果占位符太长也可以预定义

用变量row的REG_TIME值 赋值给V1
<aol:set value="${row.REG_TIME}" var="V1"/>
<aol:set value="2020-01-01" var="V1"/>

注意在遍历中需要预定义变量属性而不是固定的值
<aol:set property="item.REG_TIME" var="V2"/>


引用变量
输出V1的值
${V1}
输出V1的值 并通过aol:A1格式化
<aol:A1 value="${V1}"/> 

根据V2绑定的属性值item.REG_TIME
输出当前环境中item变量的REG_TIME值
${V2}
<aol:A1 value="${V2}"/>


注意几个特别的属性
带var属性的 表示生成结果会保存到var指定的变量中,并不输出。如 var="a"表示计算结果保存到变量a中,后续通过${a}可以输出
带id属性的 表示只定标标签,并不执行。参考上面的<aol:date/>