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. bzoj 1930: [Shoi2003]pacman 吃豆豆 [费用流]

    1930: [Shoi2003]pacman 吃豆豆 题意:两个PACMAN吃豆豆.一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方.PACMAN走到豆豆处就会吃掉它.PACMAN行走的 ...

  2. CF154D. Flatland Fencing [博弈论 对称 平局]

    传送门 题意: 背景是$knights' tournament$,好棒的样子! 这道题不一样很恶心的地方就是有平局的存在 首先判断能不能一步杀 不能的话,如果可以走$0$步或者$a,b$一负一正那么一 ...

  3. BZOJ 1176: [Balkan2007]Mokia [CDQ分治]

    题意: 有一个n * n的棋盘,每个格子内有一个数,初始的时候全部为0.现在要求维护两种操作: 1)Add:将格子(x, y)内的数加上A. 2)Query:询问矩阵(x0, y0, x1, y1)内 ...

  4. js中的this和箭头函数中的this

    一.ES6 允许使用"箭头"(=>)定义函数. // var f = v => v;// 上面的箭头函数等同于: // var f = function(v) {// ...

  5. 关于@Override

    首先,来了解一下“重载”和“覆写”的区别: 重载: (1)方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载Overloading是一个类中多态 ...

  6. weblogic修改jdk版本遇到的问题与解决方法

    1.修改setDomainEnv ,路径.../domains/xx_domain\bin\ 1.1修改JAVA_HOME为需要修改的路径 注意:BEA_JAVA_HOME路径不需修改 2.修改路径后 ...

  7. PHP读取大文本文件并处理数据的思路

    //处理文件 $file = fopen($filename, "r") or exit("Unable to open file!"); $total_lin ...

  8. table内容强制换行

    为防止文字过长而撑坏表格,一般我们需要通过css使td中内容强制换行.分别给table和td加一条样式即可实现: <meta charset="utf-8"> < ...

  9. Java中从键盘输入的三种方法

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  10. intellij idea maven springmvc 环境搭建

    1.   新建maven 工程 intellij idea 默认已经集成了maven, 直接点击下一步 2.   配置文件修改 pom.xml 文件 <?xml version="1. ...