問題タブ [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.
java - StringTemplate の stderr への出力を防ぐことはできますか?
私は現在、StringTemplateを使用してサーブレットに出力するために以下を使用しています:
これを行うと、StringTemplate は警告を Stderr に出力します。役に立たない警告でログ ファイルがいっぱいになるのは理想的ではありません。
ドキュメントを正しく理解している場合、次の方法でこれを修正できますか。
余談ですが、これを行うと、メモリ内に文字列のページ全体を構築する必要がなくなりますか?
java - Javaで配列が空かどうかをチェックするStringTemplate
配列が空でない場合、StringTemplate を使用して確認する方法は?
以下の例は機能しません。
その他 (機能していない) 例:
出力:
stringtemplate-4 - StringTemplate-4 テンプレート内での配列の生成と使用
私はStringTemplate4を初めて使用します。おそらく、過度に単純、不可能、または愚かなことを尋ねるつもりですが、それに関する他の情報は見つかりませんでした。これまでのところ、この最小限のテンプレート セットを設定しました。
そして私は取得したい:
次のコードを呼び出します。
出来ますか?よろしくお願いします。
java - 属性を追加する前に、匿名の StringTemplate (v4) からギャップ名リストを取得する方法は?
単純化したテンプレートに StringTemplate.v4 を使用しようとしています。つまり、%body%
if ロジック、サブテンプレート、式などの他の機能は使用していません。
(正直なところ、このAPIは文書化されておらず、現時点では完全に放棄することを検討しています。JavaDocのソース コードへのリンクがあればいいのにと思います。少なくとも自分でいろいろ調べて理解できました。本当にイライラしました。 .)
匿名テンプレートに存在するギャップを特定して、使用する前に必要なギャップがあることを確認しようとしています。
出力:
この google groups スレッドでgetAttributes()
返される理由と、この質問: StringTemplate list of attributes defined for a given template ) について調べました。null
formalArguments
では、ギャップを埋める前に、匿名テンプレートに実際に存在するすべてのギャップを取得するにはどうすればよいでしょうか? regexでできることはわかっていますが、これを行う方法が組み込まれていることを願っています。
ありがとう。
java - 一見単純な StringTemplate コードで NullPointerException が発生するのはなぜですか?
StringTemplate 4 を使用して、Google App Engine アプリでビューをレンダリングしたいと考えています。
私のコントローラー(問題がある場合はSlim3 MVCフレームワークを使用しています)には、次のコードがあります:
page.st
ディレクトリに名前が付けられた単一のSTファイルがありますwar/templates/default
このコードを実行すると、次のようになりますNullPointerException
。ST コードをオンラインで表示すると、ファイルへのパスに関連しているように見えます。テンプレート ファイルへのパスには、Web ブラウザからアクセスできます。
例外の関連部分は次のとおりです。
編集:
ファイルのフォーマットが不適切であることがわかりました。page.st ファイルが有効な形式の場合、NullPointerException
. 有効な page.st ファイルの例を次に示します。上記で、サーブレットからこのページをレンダリングするために必要なものを追加しました。
java - StringTemplateでデフォルトでHTMLをエスケープする方法は?
HTML テンプレート エンジンでは、XSS (クロスサイト スクリプティング) 攻撃を防ぐために、既定のプレースホルダー テキストで HTML エスケープすることをお勧めします。StringTemplate でこの動作を実現することは可能ですか?
次の場合をAttributeRenderer
除き、HTML をエスケープするカスタムを登録しようとしました。format
"raw"
しかし、この場合、StringTemlate はプレースホルダー テキストだけでなく、テンプレート テキスト自体もエスケープするため、失敗します。たとえば、このテンプレート:
次のようにレンダリングされます。
誰でも助けることができますか?