問題タブ [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 に答える
353 参照

dsl - StringTemplateとXtext

私の現在の仕事では、パーサーについて考えずに文字列テンプレートを使用してコードジェネレーターを作成しました(直接Javaオブジェクトを使用してテンプレートファイルをインスタンス化しています)。コードジェネレータジェネレータは素晴らしいJavaコードを生成します。

今、私はパーサーを書き始めました。xTextのいくつかの優れたエディター機能のB'coz、私はXtextでパーサーを書くことを考えています。

私の質問は、「同じプロジェクトでコードジェネレーター(StringTemplateを使用して記述)とParse(Xtextで記述)を使用することは可能ですか?

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

java - StringTemplate V4 で < を区切り文字として無視するにはどうすればよいですか?

プロジェクトで HTML コードを生成するために StringTemplate V4 を使用しています。テンプレートに HTML 書式を設定する必要があるため、デフォルトの区切り記号<を使用>すると非常に扱いにくくなります。

したがって、区切り文字を引数として渡すグループを作成しています(この質問で推奨されているように)が、単に機能しません。

ここに私のテストコードがあります:

そして、これは私が得る出力です:

ここで何が欠けていますか?

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

java - StringTemplate: 条件が true の場合に値をインクリメントします

StringTemplate が数値の増分を持っている/サポートしているかどうかを調べたいです。
状況は次のとおりです。

入力:isKey() "およびgetName()" ゲッターを持つオブジェクトの配列です。
出力は次のようになります ( i=0; IF !obj.getKey() THEN ps.setObject(i++,obj.getName)) ENDIF):

現在、私は次の ST を持っています:<objs:{<if(it.key)><else>ps.setObject(<i>, <it.name;>);<"\n"><endif>}>
そして、1st がキーである場合の出力:

ここで、「i」を、条件が真の場合にのみインクリメントされるものに置き換える方法を見つける必要があります。

この種の問題に直面したPLSのアドバイス!

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

stringtemplate - StringTemplate 警告 "\n in string" を取り除く方法

StringTemplate 4 を使用して Java ソース ファイルを生成しています。

テンプレートは非常にシンプルです。たとえば、次のとおりです。

コードはさらに単純です。

テンプレート行は Unix EOL (\n) で区切られています。コードを実行すると、StringTemplate から「QueryHandler.stg 1:25: \n in string」という警告が表示されます。

結果は正しいですが、このメッセージを取り除きたいです。

誰もこの問題を抱えていて、それを解決する方法を知っていますか?

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

java - StringTemplate 4 はディスク上のテンプレート ファイルを必要としますか?

Java Web アプリケーション用の HTML テンプレート ソリューションを探しています。テンプレートのほとんどはカスタム データベースにある可能性が高いため、選択したソースからテンプレートを読み込む柔軟性が必要です。私の検索では、StringTemplate 4 に出くわしましたが、私が目にするすべての例では、ユーザーがテンプレート ファイルをディスクに配置する必要があります。

ファイルまたはディレクトリを指定せずに STGroup をインスタンス化できることに気付きましたが、defineTemplate メソッドを使用しても、ファイル ベースのテンプレートを使用する代わりにはならないようです。残念ながら、defineTemplate を使用したすべてのテストで、属性を機能させることができませんでした。これはすべて、私が暗闇の中で推測しているように感じます.

StringTemplate はこれに適したライブラリですか? よりうまく機能する別のものはありますか?

自社開発を検討し始めています。

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

stringtemplate - 文字列テンプレート: テンプレートで Java リストの n 番目の要素を取得することは可能ですか?

String Template では、テンプレート内で Java Map の要素を簡単に取得できます。同様の方法で配列のn番目の要素を取得することは可能ですか?

String Template Cheat Sheetによると、最初または 2 番目の要素を簡単に取得できます。

first(rest(names)) のような操作を組み合わせて、2 番目の要素を取得できます。

しかし、n 番目の要素を簡単に取得することはできないようです。私は通常、リストインデックスをキーとしてリストをマップに変換し、次のようなことを行います

もっと簡単で簡単な方法はありますか?

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

jython - StringTemplate-4: expr プロパティをレンダリングできません

StringTemplate 4 wikiによると、 expr プロパティを表示できるはずですが、表示できません。jythonでStringTemplate4を使用しています。

テンプレート ファイル test.st は次のとおりです。

これが私のjythonコードです。テンプレートをレンダリングしようとすると、名前と年齢の値が表示されません。

インタープリターでは、tmpl の属性に問題なくアクセスできます。

なぜこれがうまくいかないのですか?私は何か間違ったことをしていますか?また、Person クラスの getName() および getAge() メソッドを作成しようとしましたが、うまくいきませんでした。データ集約を作成すると、プロパティに問題なくアクセスできます。

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

stringtemplate - テンプレートの動的リストを引数に適用する

テンプレートの可変シーケンスを引数に適用する必要があります。テンプレート シーケンスは実行時にコントローラー レイヤーで決定され、これらのテンプレートは次のような 1 つの引数にのみ適用されます。

履歴書では、一連のテンプレートを引数に適用する必要がありますが、このシーケンスは実行時およびコントローラー レイヤーで計算されます。

ありがとうございました!!

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

stringtemplate - Maven リポジトリを更新する

http://mvnrepository.com/artifact/org.antlr/ST4を更新できます か?

最新バージョンは 4.0.4 で、皆さんは 4.0.6 を使用しています。

参考までに: SO でここに質問している唯一の理由は、このページによるものです: http://www.stringtemplate.org/support.html

これは、優先される質問/回答メカニズムであると述べています。

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

python - StringTemplate 4 と Python

StringTemplate を見つけたので、Python でテストしたいと思いました。v4 は Python (2.7/3) で動作しますか? Wiki が空で、v4 バージョンの Python ポートに関する情報が見つかりません。v3 は唯一の動作バージョン (ofc Python) ですか?