StringTemplate中的填充/对齐

时间:2013-10-11 12:48:18

标签: stringtemplate-4

问:在StringTemplate v4中,在属性的左侧或右侧添加空格填充(以实现固定宽度)的正确方法是什么?


我开始使用StringTemplate从Java代码生成一些脚本文本。 在我的输出文本中有些情况我想在空间中填充属性,以便它们垂直排列。这样做时,我想控制填充是左侧还是右侧。

我观察到NumberRenderer使用Formatter.format()并允许“printf-style”格式字符串。

我想用字符串做同样的事情......例如“%-30s”

但是,我很困惑地看到StringRenderer不使用相同的Formatter.format()代码。

我也没有在StringTemplate4 JavaDoc中看到任何其他类型的与String相关的AttributeRenderer。

这让我想知道是否还有其他机制可以用来实现这个目标。

问:在StringTemplate v4中,在属性的左侧或右侧添加空格填充(以实现固定宽度)的正确方法是什么?

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:1)

StringTemplate 4提供了一个StringRenderer课程,您可以在该课程中注册。

group.registerRenderer(String.class, new StringRenderer());

此渲染器支持多个预定义格式字符串,例如upperlower,但您也可以将其传递给%-30s之类的任何其他格式字符串,它将传递给{String.format() 1}}。