2009-07-24 17 views
6

Java用の電子メールテンプレートを作成するためのFreeMarkerというライブラリがあることは知っています。このライブラリはエンタープライズプロジェクトで使用するのに適していると思いますか? Java用の電子メールテンプレートを作成する他のライブラリはありますか?Javaの電子メールテンプレートライブラリ

+0

あなたはjavaのためのjavaメールテンプレートを作成するfreemarkerに関するチュートリアルを提案できますか? –

答えて

11

Freemarkerのがうまく機能し、非常に強力です:完全を期すためのような他の魅力的なライブラリがあります。 Velocityはより単純な構文を持ち、やや強力ではなく、もっと寛容なwrtです。 nulls(変数は移入されません)。

私は両方を使っていますが、Velocityは使い始めるのがとても簡単です。 Freemarker(より厳しい実装にもかかわらず)は、「正確さ」と施設に関してより多くを提供します。

3

はい、あります。

  • apacheの速度
  • 文字列templace
3

数年前、私は請求書通知を送信するためのアプリケーションを作成しました。私はVelocityを使って電子メールの実際の内容を作りました。このトランスポートは、Apacheの電子メールサーバーであるJamesによって提供されました。このアプリケーションは、毎日10万件のパーソナライズされた電子メールを送信します。

Velocityは私に何の問題も与えませんでしたが、FreeMarkerで何か経験があったので、私はおそらく今FreeMarkerを選ぶでしょう。

2

メールのためにだけでなく、あなたが使用できる他の多くのtemplate enginesがあります。私が取り組んできたほとんどのプロジェクトではVelocityが使用され、VelocityでないときはFreemarkerでした。

1

サーブレット環境にある場合は、JSPを使用することもできます(おそらくそうではないかもしれませんが)。ほとんどの場合、私はこれをお勧めしません。なぜなら、これをセットアップするのはかなり前の作業ですから。

しかし、これは私たちの環境では便利なソリューションであり、JSPの構文とカスタムタグに慣れ親しんだWeb開発者がたくさんいます。別のテンプレート言語を習得しなくても、電子メールのコンテンツを直接操作できるようになりました(FreeMarkerがおそらく学習するのは難しいとは思いますが)。このアプローチによって、電子メールコンテンツにカスタムタグの一部を再利用することもできます。

0

エンタープライズ部門では、コードの複雑さを調べるために、多くの人がソナーやPMDなどのツールを使用しています。これらのテンプレートのいずれかがテンプレートライブラリをサポートしているかどうかはわかりません。しかし、私が野生でレビューしたテンプレートの複雑さのレベルは高いレベルにありました。私は実際に自分のコードでは防げたいと思っています。私はそれらの一部をリファクタリングしようとしましたが、いくらか成功したにもかかわらず結果は決して満足できませんでした。数日前、私はを使って2kLoCテンプレートを150行のテンプレートコードと新しいJavaクラスの1.5kLoCロジックにリファクタリングしました。もちろん、これはまだメトリックを一致させるためにいくつかの作業を残しましたが、今は保守可能なコードを達成することが可能です。スニペットリーテンプレートは、データバインディングロジックをテンプレートから外すことで、大きな懸念を払うことができます。ボーナスとして、テンプレートはより再利用可能になります。一方、ロジックとコード間のバインディングには、いくつかのコードも必要です。結局のところ、コードの量はそれほど変化しませんでしたが、可読性が大幅に向上しました。

エンタープライズビジネスについては、Snippetoryをお勧めします。

1

メールテンプレートの作成を始める前に、私はgFriendに依頼すると思っていました。テンプレートエンジンにJSPエンジンを使用するアイデアが出てきました(あなたがサーブレット環境にいる場合)。私はGAEの下だとGAEにjarファイルを追加すると、非常に高価な意思決定(パフォーマンスへの影響)

あるので、私のニーズのためのアイデアの元と完璧を発見し、私はそのリンク(オリジナルのアイデア) https://stackoverflow.com/a/458088/2033675

に来ましたか

だから私は、誰かが私がそうであるように、同じ制約があります場合には、当然それをSuggestions for Java email templating?

を行う方法へのリンクを置きます。

ベスト

2

私は私はあなたが探しているまさにだと思うPebbleテンプレートエンジンの著者。

関連する問題