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(十五)的更多相关文章

  1. freemarker中的left_pad和right_pad

    freemarker中的left_pad和right_pad 1.简易说明 (1)left_pad 距左边 (2)right_pad 距右边 (3)当仅仅只有一个参数时,插入的是空白:当有两个参数时, ...

  2. 十五、struts2中的拦截器(框架功能核心)

    十五.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 功能是一回事. 过滤器是Servlet规范中的技术,可以对请求和响应进行过滤. 拦截器是Struts2框架中的技术,实现AOP(面 ...

  3. WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用

    原文:WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用 [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经> ...

  4. Android简易实战教程--第十五话《在外部存储中读写文件》

    第七话里面介绍了在内部存储读写文件 点击打开链接. 这样有一个比较打的问题,假设系统内存不够用,杀本应用无法执行,或者本应用被用户卸载重新安装后.以前保存的用户名和密码都不会得到回显.所以,有必要注意 ...

  5. JavaScript中常见的十五种设计模式

    在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”. 在JavaScript中并没有类这种概念,JS中的函数属于一等对象,在JS中定义一个对象非常简单(var obj = {}), ...

  6. ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

    ExpandoObject与DynamicObject的使用   using ImpromptuInterface; using System; using System.Dynamic; names ...

  7. m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中

    m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...

  8. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  9. “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. Newtonsoft.Json 操作 JSON 字符串

    Newtonsoft.Json介绍 在做开发的时候,很多数据交换都是以json格式传输的.而使用Json的时候,我们很多时候会涉及到几个序列化对象的使用:DataContractJsonSeriali ...

  2. SDN第四次作业

    作业链接 1.阅读 了解SDN控制器的发展 http://www.sdnlab.com/13306.html http://www.docin.com/p-1536626509.html 了解ryu控 ...

  3. python学习:猜数字游戏

    猜数字游戏   系统生成一个100以内的随机整数, 玩家有6次机会进行猜猜看,每次猜测都有反馈(猜大了,猜小了,猜对了-结束) 6次中,猜对了,玩家赢了. 否则系统赢了   #!/usr/bin/en ...

  4. Spring-Security 自定义Filter完成验证码校验

    Spring-Security的功能主要是由一堆Filter构成过滤器链来实现,每个Filter都会完成自己的一部分工作.我今天要做的是对UsernamePasswordAuthenticationF ...

  5. Spring boot 整合redis单机版

       一.安装redis 这个不多说,网上有各种系统安装redis的操作, redis安装 二.创建sprigboot项目 这个也不多说,不会的前面有相关教程. 三.添加maven坐标 四.编写spr ...

  6. Date 类

    一.Date类型的初始化 1. Date(int year, int month, int date); 直接写入年份是得不到正确的结果的. 因为java中Date是从1900年开始算的,所以前面的第 ...

  7. 五子棋的判断输赢规则 -- java编程(简单优化完整版)

    五子棋的判断输赢规则代码 -- 完整优化版 一.前言 之前浏览过很多网上的方法,但总找不到比较完整,也get不到其他大神的思路,就直接画图分析,分析了之后就有了如下的代码,当然还想到更加优化的一种,只 ...

  8. 1.2 decimal模块

    >>> 0.1 + 0.1 +0.1 == 0.3 False >>> >>> print(0.1 + 0.1 + 0.1) 0.30000000 ...

  9. 浅谈JavaScript位操作符

    因为ECMAscript中所有数值都是以IEEE-75464格式存储,所以才会诞生了位操作符的概念. 位操作符作用于最基本的层次上,因为数值按位存储,所以位操作符的作用也就是操作数值的位.不过位操作符 ...

  10. hive上mysql元数据库配置

    hive调试信息显示模式: ./hive -hiveconf hive.root.logger=DEBUG,console 非常有用. 默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只 ...