MVC アプリのビュー層に JSTL を使用することと Velocity を使用することの利点は何ですか?

StackOverflow https://stackoverflow.com/questions/381377

質問

現在 Spring MVC アプリケーションを構築しています。ビュー レイヤーと HTML の書式設定を処理するために、タグ ライブラリを持つ JSP ページを使用しようとしていましたが、同じ目的で Velocity テンプレートを使用している社内の別のグループに遭遇しました。

私が見る限り、この 2 つのアプローチには多くの類似点があるように思えます。

  1. どちらもわかりやすい構文を持っています。開発者以外でも理解しやすく使用しやすくなり、デザイナーは HTML/CSS に集中できるようになり、条件分岐や動的コンテンツが必要な場合にのみディレクティブやタグ ライブラリを使用するだけで済みます。ジャワ。
  2. コンテンツのどの部分が HTML で、どの部分がディレクティブ/ロジックであるかを簡単に確認できます。
  3. どちらも頻繁に使用されており、サポートも充実しています。
  4. Spring MVC との統合が簡単です。

しかし、2 つのテクノロジーを比較すると、どちらかを使用する具体的な理由は見当たりません。Velocity または JSTL のどちらかに特有の短所を考えるのが困難です。

そこで質問ですが、あなたの意見では、それぞれの長所と短所は何ですか?どちらかを使用して (Spring) MVC アプリを構築したことがある場合、使用するビュー レイヤー テクノロジを決めた理由は何ですか?また、他のテクノロジを使用しないことを決めた理由 (ある場合) は何ですか?

アップデート:これと同じトピックに関する同様の議論が Spring Framework フォーラムでアーカイブされているのを見つけました。 ここ, これは、私と同じように JSTL と Velocity の間で同じ決定を下している人にとっては興味深いかもしれません。

役に立ちましたか?

解決

私は、JSP + JSTLを使用すると、怠惰/ずさんな開発者がスクリプトレットを追加することで、トラブルに取得できるようにすることができますという理由だけでベロシティを使用することを好むだろう。あなたのビュー階層にJavaコードを持っている理由はありません。これは、ベロシティを理解するために多くを取らないと、実際の問題として、私は約2週間でそれを拾いました。私は、出力のフォーマットを好きではありませんが、ほとんどの部分は、それはかなりうまく動作します。私たちは、実際にアプリケーションのビュー階層ではなく、他のブラウザで使用するためにHTMLを生成するためにそれを使用していません。私たちは、その後、他のWebクライアントによって消費のために別のサーバーにデプロイされたファイルとしてベロシティからの出力を保存します。

他のヒント

私は実際には少しあなたが他の選択肢を模索するオープンしているだけの場合には、ベロシティにFreemarkerのを好みます。ここでの比較:

http://freemarker.org/fmVsVel.htmlする

私は、JSPとスクリプトレットの可能性を回避することによって、単純なビューを執行についてベンの声明に同意します。 JSPとしてのサーブレット/ JSPコンテナを必要とせず、またI(主JUnitの、()メソッド)の実行環境のいずれかの種類にFreemarkerの又はVelocityテンプレートをレンダリングする能力たい。

JSPは、視覚的にも埋め込まれたHTMLから区別することはより困難です。速度で、それは非常に明白である。

また、VelocityToolsパッケージは、追加機能の多くを提供しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top