1

Q: StringTemplate v4 で (固定幅を実現するために) 属性の左または右にスペース パディングを追加する適切な方法は何ですか?


StringTemplate を使用して、Java コードからスクリプト テキストを生成し始めています。出力テキストで、属性を縦に並べるためにスペースを埋めたい場合があります。そうするとき、パディングが左にあるか右にあるかを制御したいと思います。

NumberRenderer が Formatter.format() を使用し、「printf スタイル」のフォーマット文字列を許可していることがわかります。

私は文字列で同じことをしたい...例えば "%-30s"

しかし、StringRenderer が同じ Formatter.format() コードを使用していないことに困惑しています。

また、StringTemplate4 JavaDoc には、他のタイプの String 関連の AttributeRenderer も見当たりません。

これは、これを達成するために使用すべき別のメカニズムがあるのではないかと考えさせます。

Q: StringTemplate v4 で (固定幅を実現するために) 属性の左または右にスペース パディングを追加する適切な方法は何ですか?

ありがとう、マイケル

4

1 に答える 1

1

StringTemplate 4 は、StringRendererグループに登録できるクラスを提供します。

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

このレンダラーは、 や などのいくつかの事前定義されたフォーマット文字列をサポートしてupperいますが、 の呼び出しに渡すlowerような他のフォーマット文字列を渡すこともできます。%-30sString.format()

于 2013-10-16T14:53:08.083 に答える