问:在StringTemplate v4中,在属性的左侧或右侧添加空格填充(以实现固定宽度)的正确方法是什么?
我开始使用StringTemplate从Java代码生成一些脚本文本。 在我的输出文本中有些情况我想在空间中填充属性,以便它们垂直排列。这样做时,我想控制填充是左侧还是右侧。
我观察到NumberRenderer使用Formatter.format()并允许“printf-style”格式字符串。
我想用字符串做同样的事情......例如“%-30s”
但是,我很困惑地看到StringRenderer不使用相同的Formatter.format()代码。
我也没有在StringTemplate4 JavaDoc中看到任何其他类型的与String相关的AttributeRenderer。
这让我想知道是否还有其他机制可以用来实现这个目标。
问:在StringTemplate v4中,在属性的左侧或右侧添加空格填充(以实现固定宽度)的正确方法是什么?
谢谢, 迈克尔
答案 0 :(得分:1)
StringTemplate 4提供了一个StringRenderer
课程,您可以在该课程中注册。
group.registerRenderer(String.class, new StringRenderer());
此渲染器支持多个预定义格式字符串,例如upper
和lower
,但您也可以将其传递给%-30s
之类的任何其他格式字符串,它将传递给{String.format()
1}}。