問題タブ [stringtemplate-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
802 参照

stringtemplate-4 - jar ファイルから StringTemplateGroup ファイルをロードするにはどうすればよいですか?

テンプレート グループ ファイルを jar に含めるためのベスト プラクティスは何ですか?

実行可能 jar に StringTemplateGroup ファイルを含めたいと思います。私はEclipseを使用しており、テンプレートグループファイルをプロジェクトの下の「template」というフォルダーに入れました。私の Java コードでは、次を使用してファイルを作成します。

STGroup File templates = new STGroupFile("template/file.stg");

これは Eclipse では問題なく動作しますが、jar をエクスポートして実行すると、次のエラーが発生します。

スレッド「メイン」の例外 java.lang.IllegalArgumentException: そのようなグループ ファイルはありません: template\HasbroServiceHelper.stg

jar ファイル自体でファイルの名前を取得するにはどうすればよいですか?「jar:file」というプレフィックスを付けることができます。または、テンプレート ファイルを jar にパッケージ化するより良い方法はありますか?

0 投票する
1 に答える
751 参照

java - カスタム文字列区切り文字 stringtemplate-4

Androidでstringtemplate-4エンジンを使用しようとしています。

しかし、区切り文字を開始する必要があります。

終了デリミタは、

ここでは、char 区切り文字のみが許可されていると思います。では、文字列区切り記号を使用するにはどうすればよいでしょうか。

事前にt​​hnx。

0 投票する
1 に答える
301 参照

antlr - コード生成のために Antlr 3.5.2 を StringTemplate 4 と組み合わせる

私が取り組んでいる現在のプロジェクトは antlr 3.5.2 の使用に制限されていますが、コード生成には StringTemplate 4 の機能セットを使用したいと考えています。antlr 3.5.2 は StringTemplate 4 を使用する Java ツリーウォーカーを生成できますか? (たとえば、StringTemplate* の代わりに ST* 参照を含む Java ファイルを生成する output=template を持つツリー グラマー)

0 投票する
0 に答える
37 参照

stringtemplate-4 - StringTemplate のプロパティのプロパティを参照する簡潔な方法はありますか

<prop1.subprop1:sometemplate>プロパティのプロパティのリストにテンプレートを適用するために書きたいと思っています。これを行うには、2 つのレベルのテンプレートを作成する必要があります。prop1 で外側のテンプレートを呼び出してから、次のプロパティを処理する必要があります。

データ・モデル:

ゴール:

だから私はで終わる

これは少し不器用です。

それから私はこれに行きました:

そして、私は生成したい:

ここで、最初の「reqparam」は最も深い項目からのものです。次のように記述しようとしましたが、再帰的にリストを作成しようとした 2 番目のテンプレートで、ST によって構文エラーが発生します。

0 投票する
2 に答える
505 参照

c# - ST4/C# では、TemplateGroup なしで新しいレンダラーを登録できますか?

RegisterRenderer メソッドが表示される唯一の場所は、TemplateGroup です。しかし、ファイル システム上の複数のテンプレートではなく、文字列を介して提供される 1 つのテンプレートしかありません。

または、TemplateGroup を使用して、文字列を介してテンプレートを提供するにはどうすればよいですか?

0 投票する
1 に答える
933 参照

stringtemplate - how to generate multi-line comment

In stringtemplate-4, how to generate a multi-line comment? For example, the template is like this (the comment's start and end are in some other template):

And DESCRIPTION is a long string, and may also contain line-feeds in it, like:

So we want the output string like:

0 投票する
2 に答える
428 参照

java - テンプレート内に Java コードを埋め込む

ST4 テンプレート内に実行可能な Java コードを埋め込むことは可能ですか? たとえば、テンプレートに文字列を渡したい場合、文字列をそのまま印刷することもあれば、大文字で印刷することもあるため、Java コードで必要な変換を行う必要があります。この機能がなければ、同じ機能を実現する方法が 3 つあります。

(1) Java で代替値を事前に計算し、それらすべてを一度にテンプレートに渡します (ただし、これにより引数が多すぎる可能性があります)。

(2) そのような引数が多くなりすぎた場合、もう 1 つのオプションは、templpate を小さな部分に分割することですが、コードが見苦しく、読みにくくなります。

(3) クラス内の関連するすべての値を事前に計算し、テンプレートに getter 関数を (引数なしで) 呼び出して、クラスから関連する値を単純に取得させます。

現時点では (埋め込み Java クラスが利用できない場合)、3 番目のオプションが最適なソリューションのようです。より良い解決策が存在するかどうかアドバイスしてください。

注: 上記の例では、CAPS を例として使用していますが、より複雑な Java 関数も必要になる可能性があります。

0 投票する
1 に答える
352 参照

java - StringTemplate v4 で属性を取得する方法

次のコードがあります

すべての属性、つまりattribute1、attribute2などを反復処理するにはどうすればよいですか? テンプレート内の属性のすべてのリストを取得したい。