1

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


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

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

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

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

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

这让我想知道是否应该使用另一种机制来实现这一点。

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

谢谢,迈克尔

4

1 回答 1

1

StringTemplate 4 provides a StringRenderer class that you can register with your group.

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

This renderer supports several predefined format strings like upper and lower, but you can also pass it any other format string like %-30s which it will pass on to a call to String.format().

于 2013-10-16T14:53:08.083 回答