1

アプリケーションにプラグインを作成するためのユーザーを提供したいと思います。初期の設計と実装には、Velocity(VTL)テンプレートエンジンが含まれます。

  • 安全:uesrsは内部Javaコードを呼び出すことはできません(リフレクションを使用してハッキングすることなく)
  • シンプル:限定された限定されたAPI、独自のドメイン固有言語を書くことができます
  • ポータブル:VTLテンプレートをJAR、データベース、または好きな場所に保存できます
  • 分離:テンプレートコンテキストとロジック/コントローラーはWeb/HTMLに結合されていません

次に、VTLの制限(最初はタグライブラリのサポートなし)を使用して、 Freemarkerを調べました。

それはすべての利点を持っていますが、これはそれが得るのと同じくらい良いのだろうかと思います

他の選択肢はエクリプスJETで、現時点では他に何も知りません。

Javaコンテンツアシスト(JSPなど)が可能で、データベースに保存できるソリューションが欲しいのですが

このようなものはありますか?(JET、およびJBossのFreemarkerバギープラグインのほかに)

4

2 に答える 2

4

Thymeleafをチェックしてください。

私はそれを使用していません..まだ!

開発者はVelocityとFreeMakerの欠点に対処するためにそれを設計したようです。

于 2011-12-02T21:53:06.447 に答える
1

私はいくつかのプロジェクトでFreeMarkerをうまく使用しました。

あなたの懸念に対処するには:

  • モデルで安全でないメソッドを公開しない限り、テンプレートの処理(ユーザーが作成したものでも)は安全です。一般に、モデルには不変オブジェクト(文字列、数値など)とそれらのコレクション(リスト、マップなど)のみを含める必要があり、MVCアプリケーションの制御レイヤーとは一切関係ありません。
  • FreeMarkerはプログラマーにとっては十分に単純ですが、必ずしもWebデザイナーや編集者にとってはそうではありません。
  • テンプレートローダーは想像できるあらゆるものにすることができるため、FreeMarkerテンプレートは好きな場所に保存できます。APIドキュメントをご覧ください。
  • FreeMarkerテンプレートは、モデルで適切なメソッドを公開しない限り、MVCアプリケーションのビューレイヤーに限定されます(最初のポイントを参照)。JSPとは異なり、サーブレットAPIを完全に認識していません。

コンテンツアシストに関しては、ほとんどの主要なIDE(IntelliJ、Eclipse、おそらくNetBeans)はFreeMarker構文をサポートしており、キーワードのオートコンプリートを提供する必要があります。FreeMarker用のJavaScriptベースのエディターが必要な場合、私は何も知らないので、それほど肯定的ではありません。

幸運を!

于 2011-05-12T15:44:28.840 に答える