問題タブ [velocity]

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 投票する
2 に答える
623 参照

java - 余分な速度のエンジン出力

電子メールメッセージを表すさまざまなVelocityテンプレートファイルがあります。テンプレートファイルがメッセージの件名と内容を出力できるようにするためのエレガントな方法を探しています。私はいくつかのオプションを検討しました:

  1. 出力の最初の行を「Subject:Bla」のようにして、Javaで削除します。Javaから派手な文字列操作を実行することは、そもそもVelocityを使用して解決しようとしている問題であるため、このアプローチを拒否しました。

  2. セッターを呼び出すために、Velocityマクロの一部のコードのマッピングに設定可能なオブジェクトをスローします。長所:非常に簡単です。短所:出力の形式としても、Velocityから外部オブジェクトを設定するというアイデアは嫌いです。しかし、それは不合理な嫌悪感かもしれません。

  3. #setSubjectLineなどのカスタムVelocityコマンドを作成します。長所:よりエレガント。短所:電子メールであるかどうかに関係なく、すべてのテンプレートに有効なコマンドとして適用されます。

  4. 件名と残りの電子メール用に別々のテンプレートファイルを用意します。プロ:特別なトリックはまったくありません!短所:すべての電子メールロジックが同じ場所にあるわけではありません。

  5. 私が知らないいくつかのクールなVelocityトリック。

  6. ???

だから私は何をすべきですか?5または6の提案はありますか?1、2、3、または4を選択する必要がある理由は?

0 投票する
3 に答える
12774 参照

java - Java5列挙型をVelocity変数として使用する

すべて。速度テンプレートでjava5列挙型を使用する必要があります。これにより、次のように記述できます。

どのようにそれを行うことができますか?前もって感謝します。

0 投票する
3 に答える
3342 参照

velocity - ファイルが存在しない場所で #parse を使用した速度

Velocity を使用して、いくつかの異なる環境用の構成ファイルをテンプレート化しています。このプロセスは非常にうまく機能しますが、存在しないファイルの解析に関して簡単な質問があります。

私の質問は次のとおりです。ファイルを解析する前に、ファイルが存在するかどうかをどのように確認しますか?

したがって、この例では、ファイル default.user.properties が正当に存在しない可能性があり、存在しない場合、ファイルの残りの部分は解析されません。

ファイルが常にそこにあることを確認することが1つの解決策であることは知っていますが、そうする必要がなければいいでしょう。

前もって感謝します。

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

java - JSP Struts から Velocity Struts への変換

私の生徒の 1 人に代わって、これを尋ねています。「JSP Struts を Velocity Struts に変換する方法を知っている人はいますか?」

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

servlets - Velocityテンプレートオブジェクトを静的にする

Velocity Template Objectを静的にするのは良いことですか?

状況は、(サーブレット)マルチユーザー環境でこのオブジェクトを使用して、同じテンプレートを使用してユーザー要求ごとに異なるデータを入力することです。

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

jsp - Velocity から JSP への移行

私が取り組んでいるプロジェクトの一環として、Velocity から JSP に移行しています。既存の Velocity テンプレートのセットを JSP に変換する必要があります。なぜこれが決定されたのか(部分的には私のせいです)、どちらがより良く、この道から経営陣を思いとどまらせる最良の方法かを議論するのに何時間も費やすことができますが、彼らはこれを行うことに専念しているので、それは時間の無駄です.

だから、私が探しているのは、私を助けるためのパターン、ベストプラクティス、あなたが持っているものです。グローバル ライブラリ ファイルには、さまざまなテンプレートで使用される多数の Velocity マクロがあります。各マクロを JSP スクリプトレットに変換し、マクロを Java に変換することを考えています。次に、include ディレクティブまたは jsp:include を使用して、すべてのスクリプトレットを含むそのファイルを各 JSP に含めます。また、マクロへの各呼び出しをスクリプトレットに変換することも考えていました。これらのマクロには、Spring ModelAndView クラスで定義された Bean であるパラメーターがあります。

予備テストでは、このアプローチは機能しないことが示されているようです。JSP コンパイル エラーが発生しているようです。しかし、私は自分の側でエラーを見逃す可能性があります。

OC4J バージョン 10.1.3.4.0 でこの Web アプリケーションを実行しています。

これは、私が対処しなければならないことの簡単な例です。これは VM_global_library.vm ファイルにあります。

そして、次のように他のファイルで呼び出されます。

「リクエスト」オブジェクトは HttpServletRequest ではなく、アプリケーション クラスであることに注意してください。表示するには多すぎる、はるかに複雑な例があります。

0 投票する
3 に答える
15018 参照

java - org.apache.velocity.exception.ResourceNotFoundException

struts1およびHibernate構成でのメール送信に速度エンジンテンプレートを使用しています。

エラーが発生しました:org.apache.velocity.exception.ResourceNotFoundExceptionメールを送信しようとしているときに。

私はvelocity1.5.jar、mail.jar、activation.jar、smtp.jarを含めました。

ここにベロシティテンプレートパスを含めます

String velocityTemplate = "mailTemplate/sendMail.vm";

mailTemplateフォルダーはWEB-INF/classesフォルダー内にあります

コードがこの行を実行すると、そのエラーが発生しました

Template template = velocityEngine.getTemplate(velocityTemplate);

誰かがこれに関して私を助けることができますか?

誰かが私を助けてくれればもっと感謝するでしょう。

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

java - Apache Velocity: コンパイル済みのテンプレートを同梱

コンパイル済みのテンプレートを使用してアプリケーションを出荷できますか?

速度でコンパイルされたすべてのテンプレートでそのようなことはありますか? それとも、実行のたびに強制的に再コンパイルされますか?