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. CF528D. Fuzzy Search [FFT]

    CF528D. Fuzzy Search 题意:DNA序列,在母串s中匹配模式串t,对于s中每个位置i,只要s[i-k]到s[i+k]中有c就认为匹配了c.求有多少个位置匹配了t 预处理\(f[i][ ...

  2. 洛谷3月月赛 R1 Step! ZERO to ONE

    洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...

  3. php 数组变成树状型结构

    <? php $stime = microtime(true); $nodes = [ ['id' = > 1, 'pid' = > 0, 'name' = > 'a'], [ ...

  4. [Python Study Notes]文件操作

    文件操作 对文件操作流程 打开文件,可添加filepath打开某绝对路径下的文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 # The_author = 'liu66' # -* ...

  5. 01-vagrant安装centos7

    1. 安装VirtualBox 2. 安装Vagrant 3. 下载 centos-7.0-x86_64.box   [安装命令] $ mkdir vagrant $ cd vagrant $ vag ...

  6. iOS通知传值的使用

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便.便捷,一个简单的Demo实现通知的跳转传值. 输入所要发送的信息 ,同时将label的值通过button方法调用传递, - (IB ...

  7. CSS布局(六) 对齐方式

    一.水平居中: (1). 行内元素的水平居中? 如果被设置元素为文本.图片等行内元素时,在父元素中设置text-align:center实现行内元素水平居中,将子元素的display设置为inline ...

  8. c++ 如何把RGB图像转换成HSV图像?

    CV_<bit_depth>(S|U|F)C<number_of_channels> 1--bit_depth---比特数---代表8bite,16bites,32bites, ...

  9. Spring data mongodb @CreatedBy@LastModifiedBy@CreatedBy@LastModifiedBy SpringSecurityAuditorAware,只记录用户名

    要在Spring data mongodb 中使用@CreatedBy@LastModifiedBy@CreatedBy@LastModifiedBy  这四个注解 必须实现 SpringSecuri ...

  10. OPENCV 旋转图像算法-汇总

      void ImgRotate(cv::Mat imgIn, float theta, cv::Mat& imgOut) { int oldWidth = imgIn.cols; int o ...