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. UOJ Round #15 [构造 | 计数 | 异或哈希 kmp]

    UOJ Round #15 大部分题目没有AC,我只是水一下部分分的题解... 225[UR #15]奥林匹克五子棋 题意:在n*m的棋盘上构造k子棋的平局 题解: 玩一下发现k=1, k=2无解,然 ...

  2. BZOJ 4539: [Hnoi2016]树 [主席树 lca]

    4539: [Hnoi2016]树 题意:不想写.复制模板树的子树,查询两点间距离. *** 终于有一道会做的题了...... 画一画发现可以把每次复制的子树看成一个大点来建一棵树,两点的lca一定在 ...

  3. SDN第三次作业

    作业链接 阅读文章:http://www.sdnlab.com/19777.html 阅读<重构网络>第一二章 列举openflow1.0的12元组? 入端口 源MAC地址 目的MAC地址 ...

  4. python用Django+Celery+Redis 监视程序(一)

    C盘创建一个目录就叫DjangoDemo,然后开始在该目录下操作. 1.新建Django工程与应用 运行pip install django 安装django 这里我们建一个名为demo的项目和hom ...

  5. macbook air扩展显示器全屏滑动怎样不一起滑动?

    macbook air 外接了一个显示器(扩展),当我有多个桌面时,用手指滑动触控板切换桌面时,扩展屏幕也跟着切换桌面有什么办法能让我在切换主屏幕桌面的时候,扩展屏幕保持不动呢?上周还好好的,昨晚关机 ...

  6. [转]【C#】分享一个弹出浮动层,像右键菜单那样召即来挥则去

    适用于:.net2.0+ Winform项目 背景: 有时候我们需要开一个简单的窗口来做一些事,例如输入一些东西.点选一个item之类的,可能像这样: 完了返回原窗体并获取刚刚的输入,这样做并没有什么 ...

  7. HTML/CSS 知识点

    整个前端开发的工作流程 产品经理提出项目需求 UI出设计稿 前端人员负责开发静态页面(跟前端同步的后台人员在准备数据) 前后台的交互 测试 产品上线(后期项目维护) 互联网原理 当用户在浏览器输入网址 ...

  8. 使用docker搭建wordpress

    前言 去年在学习docker,在看完菜鸟教程和第一本docker书后,一直想实战用一下这个技术,多用用才能熟能生巧,真正体验它的利弊.正好傅老板用docker搭完了wordpress,我也就手痒跟着搭 ...

  9. PAT 1002. A+B for Polynomials

    思路:就是两个多项式做加法–指数相同的相加即可,输出的时候按照指数递减输出,并且系数为0的项不输出. AC代码 #include <stdio.h> #include <vector ...

  10. 我博客上的围棋js程序

    作为一个围棋爱好者,就决定在博客里加个围棋js程序.于是,申请了博客的js权限,美化美化我的博客. 好在js的语法像C系的,看了看,写个程序应该还是可以的. 围棋里,设计好基本的数据结构: //a是1 ...