【问题标题】:padding / alignment in StringTemplateStringTemplate 中的填充/对齐
【发布时间】:2013-10-11 12:48:17
【问题描述】:

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


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

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

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

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

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

这让我想知道是否应该使用另一种机制来完成此任务。

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

谢谢, 迈克尔

【问题讨论】:

    标签: stringtemplate-4


    【解决方案1】:

    StringTemplate 4 提供了一个StringRenderer 类,您可以在您的组中注册。

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

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

    【讨论】:

    猜你喜欢
    • 2010-12-13
    • 2018-03-04
    • 2013-08-03
    • 1970-01-01
    • 2015-09-28
    • 2017-07-25
    • 1970-01-01
    • 2018-07-27
    • 2011-09-06
    相关资源
    最近更新 更多