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. POJ 2007 Scrambled Polygon [凸包 极角排序]

    Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8636   Accepted: 4105 ...

  2. Python中的浅拷贝与深拷贝

    编者注:本文主要参考了<Python核心编程(第二版)> 以下都是参考资料后,我自己的理解,如有错误希望大家不吝赐教. 大家有没有遇到这样一种情况,对象赋值后,对其中一个变量进行修改,另外 ...

  3. 如何用vue-cli初始化一个vue项目

    单文件组件和vue-loader 解析打包.vue文件 vue为了能够使我们在项目开发中对组件进行更好的维护,提供了一个单文件组件系统,vue把每一个独立的组件放在一个.vue的文件中,在这个文件中提 ...

  4. ajax调用handler,使用HttpWebRequest访问WCF服务

    引言 随着手机及移动设备的普及,移动端的应用也进入了热潮.以前PC端的门户网站,大多也均推出了适配移动设备的网站或者APP,再差的也注册了个公众号.在移动应用开发中,目前据我所了解到的解决方案有:1. ...

  5. 不受支持的URL Statue Code 1002

    1. 错误提示: Error description=Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" User ...

  6. Redis 实践1- redis介绍和安装

    redis是一个key-value存储系统,官方站点 http://redis.io   和memcached类似,但支持数据持久化 支持更多value类型,除了和string外,还支持hash.li ...

  7. mysql cp复制和mysqldump备份测试

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 备份策略 针对不同的场景下, 我们应该制定不同的备份策略对数据库进行 ...

  8. Virtualbox以及VWare在Win10下的不兼容

    异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html Hyper原因导致的,关闭即可 禁用 hyper-vbcdedit /set h ...

  9. 【Unity3D技术文档翻译】第1.2篇 为打包 AssetBundles 准备资产

    本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Preparing Assets f ...

  10. 硬件能力与智能AI-Zoomla!逐浪CMS2 x3.9.2正式发布

    北京时间2017年9月10日,领先的CMS网站内容管理系统与生产力软件研发厂商-Zoomla!逐浪CMS团队发布其年度重要产品:Zoomla!逐浪CMS2 x3.9.2,引领国内门户.移动.微商以及生 ...