freemarker中的left_pad和right_pad

1、简易说明

(1)left_pad 距左边

(2)right_pad 距右边

(3)当仅仅只有一个参数时,插入的是空白;当有两个参数时,插入的是第二个参数符号;如果第二个参数的长度大于1的话,会周期性地插入该符号

2、举例说明

<#--freemarker中的left_pad 距左边-->
     [${""?left_pad(8)}]
     [${"E"?left_pad(8)}]
     [${"EF"?left_pad(8)}]
     [${"EFG"?left_pad(8)}]
     [${"EFGH"?left_pad(8)}]
     [${"EFGHI"?left_pad(8)}]
     [${"EFGHIJ"?left_pad(8)}]
     [${"EFGHIJK"?left_pad(8)}]
     [${"EFGHIJKL"?left_pad(8)}]

     [${""?left_pad(8,"*")}]
     [${"E"?left_pad(8,"*")}]
     [${"EF"?left_pad(8,"*")}]
     [${"EFG"?left_pad(8,"*")}]
     [${"EFGH"?left_pad(8,"*")}]
     [${"EFGHI"?left_pad(8,"*")}]
     [${"EFGHIJ"?left_pad(8,"*")}]
     [${"EFGHIJK"?left_pad(8,"*")}]
     [${"EFGHIJKL"?left_pad(8,"*")}]

     [${""?left_pad(8,"?*?")}]
     [${"E"?left_pad(8,"?*?")}]
     [${"EF"?left_pad(8,"?*?")}]
     [${"EFG"?left_pad(8,"?*?")}]
     [${"EFGH"?left_pad(8,"?*?")}]
     [${"EFGHI"?left_pad(8,"?*?")}]
     [${"EFGHIJ"?left_pad(8,"?*?")}]
     [${"EFGHIJK"?left_pad(8,"?*?")}]
     [${"EFGHIJKL"?left_pad(8,"?*?")}]

     <#--freemarker中的right_pad 距右边-->
     [${""?right_pad(8)}]
     [${"E"?right_pad(8)}]
     [${"EF"?right_pad(8)}]
     [${"EFG"?right_pad(8)}]
     [${"EFGH"?right_pad(8)}]
     [${"EFGHI"?right_pad(8)}]
     [${"EFGHIJ"?right_pad(8)}]
     [${"EFGHIJK"?right_pad(8)}]
     [${"EFGHIJKL"?right_pad(8)}]

     [${""?right_pad(8,"*")}]
     [${"E"?right_pad(8,"*")}]
     [${"EF"?right_pad(8,"*")}]
     [${"EFG"?right_pad(8,"*")}]
     [${"EFGH"?right_pad(8,"*")}]
     [${"EFGHI"?right_pad(8,"*")}]
     [${"EFGHIJ"?right_pad(8,"*")}]
     [${"EFGHIJK"?right_pad(8,"*")}]
     [${"EFGHIJKL"?right_pad(8,"*")}]

     [${""?right_pad(8,"?*?")}]
     [${"E"?right_pad(8,"?*?")}]
     [${"EF"?right_pad(8,"?*?")}]
     [${"EFG"?right_pad(8,"?*?")}]
     [${"EFGH"?right_pad(8,"?*?")}]
     [${"EFGHI"?right_pad(8,"?*?")}]
     [${"EFGHIJ"?right_pad(8,"?*?")}]
     [${"EFGHIJK"?right_pad(8,"?*?")}]
     [${"EFGHIJKL"?right_pad(8,"?*?")}]

3、示例结果

     [        ]
     [       E]
     [      EF]
     [     EFG]
     [    EFGH]
     [   EFGHI]
     [  EFGHIJ]
     [ EFGHIJK]
     [EFGHIJKL]

     [********]
     [*******E]
     [******EF]
     [*****EFG]
     [****EFGH]
     [***EFGHI]
     [**EFGHIJ]
     [*EFGHIJK]
     [EFGHIJKL]

     [?*??*??*]
     [?*??*??E]
     [?*??*?EF]
     [?*??*EFG]
     [?*??EFGH]
     [?*?EFGHI]
     [?*EFGHIJ]
     [?EFGHIJK]
     [EFGHIJKL]

     [        ]
     [E       ]
     [EF      ]
     [EFG     ]
     [EFGH    ]
     [EFGHI   ]
     [EFGHIJ  ]
     [EFGHIJK ]
     [EFGHIJKL]

     [********]
     [E*******]
     [EF******]
     [EFG*****]
     [EFGH****]
     [EFGHI***]
     [EFGHIJ**]
     [EFGHIJK*]
     [EFGHIJKL]

     [?*??*??*]
     [E*??*??*]
     [EF??*??*]
     [EFG?*??*]
     [EFGH*??*]
     [EFGHI??*]
     [EFGHIJ?*]
     [EFGHIJK*]
     [EFGHIJKL]

freemarker中的left_pad和right_pad,布布扣,bubuko.com

时间: 2024-10-12 20:56:16

freemarker中的left_pad和right_pad的相关文章

FreeMarker中的日期时间处理

1. FreeMarker中的日期时间格式设置 FreeMarker中可以分别对date.time.datetime三种类型的日期时间设置格式,例如: config.setDateTimeFormat("yyyy-MM-dd HH:mm:ss"); config.setDateFormat("yyyy-MM-dd"); config.setTimeFormat("HH:mm:ss"); 当我们对一个页面变量使用 ?date ?time ?date

Freemarker中大于号&gt;的使用

在Freemarker中,比较数据的大小时候,要注意大于号(>)的使用.如果不注意,程序就会发生异常信息,如下面的例子: 1 2 3 4 <#assign x = 4> <#if x>5 > x >5 </#if> 以上的方式进行比较,就会发生异常,原因是Freemarker内部的解析处理原因,x>5中的大于号将会跟<#if中的小于号进行配对,导致解析出现问题.针对这种情况,有两种方式解决:方法一:加上括号. 1 2 3 4 <#as

freemarker中的substring取子串

1.substring取子串介绍 (1)表达式?substring(from,to) (2)当to为空时,默认的是字符串的长度 (3)from是第一个字符的开始索引,to最后一个字符之后的位置索引 2.举例说明 <#--freemarker中的substring取子串--> ${'EFGHIJKL'?substring(0)} ${'EFGHIJKL'?substring(1)} ${'EFGHIJKL'?substring(2)} ${'EFGHIJKL'?substring(3)} ${'

freemarker中的split字符串分割

1.简易说明 split分割:用来根据另外一个字符串的出现将原字符串分割成字符串序列 2.举例说明 <#--freemarker中的split字符串分割--> <#list "张三三,李思思,,王强,柳树,诸葛正我"?split(",") as name> "${name}" </#list> <#list "AhuAjiuAjkdsfAoionAjiuiAnujkkdfAkoijAmcjdhf

freemarker中的round、floor和ceiling数字的舍入处理

1.简易说明 (1)round:四舍五入 (2)floor:向下取整 (3)ceiling:向上取整 2.举例说明 <#--freemarker中的round.floor和ceiling数字的舍入处理--> <#--round:四舍五入--> <#--floor:向下取整--> <#--ceiling:向上取整--> <#assign numList = [12,0.23,89,12.03,69.56,45.67,-0.56,-8.05,-89.56,

FreeMarker中if标签内的判断条件

reeMarker中的<#if>标签除了里面直接判断 boolean 类型的变量外,也可以进行表达式判断,有几个细节记录一下 1. 判断对象是否存在(null) 经常会用到,如果对象 != null 则xxxx,在freemarker中表达比较奇怪,例如判断 target 是否为null,如果不为 nll 则做xxx动作 <#if target??> xxxx </#if> (目标变量后面连续两个??) 2. 字符串或数字比较 java里标准字符串比较需要 .equal

Freemarker中的null判断,小坑一枚

上次写到,在Freemarker中日期转换,可以提取成工具方法.主要是Freemarker对null的处理方式,非常坑爹.只要一个对象或对象的属性为null,就报错,虽然不影响界面显示,但控制台和日志总是打印"错误信息",很是不爽.所以,想写方法判断对象是否为null,再做正确的显示. 上次写的2个Freemarker函数,实际过程中只用到了第1个,正常.把int类型的日期转换成字符串    <#function number_to_ymdhms date> <#if

freemarker中的round、floor和ceiling数字的舍入处理 1

http://www.qdmm.com/BookReader/113167,54166719.aspx http://www.qdmm.com/BookReader/113167,54166867.aspx http://www.qdmm.com/BookReader/113167,54166868.aspx http://www.qdmm.com/BookReader/113167,54166869.aspx http://www.qdmm.com/BookReader/113167,5416

FreeMarker中的运算符优先级

FreeMarker中的运算符优先级如下(由高到低排列): 1,一元运算符:! 2,内建函数:? 3,乘除法:*, / , % 4,加减法:- , + 5,比较:> , < , >= , <= (lt , lte , gt , gte) 6,相等:== , = , != 7,逻辑与:&& 8,逻辑或:|| 9,数字范围:.. 实际上,我们在开发过程中应该使用括号来严格区分,这样的可读性好,出错少.