Taglib と Javaclass:または両方を最適な方法で組み合わせる方法
質問
私は現在、非常に優れた taglib サポートと強力な API を備えた Java ベースの CMS である OpenCms 用のテンプレートを作成しています。
とにかく、チュートリアルやソースを見ると、(html) 出力の生成に taglib または Javaclasses が使用されているのは 50 対 50 です。
私は JSP をクリーンに保つよう努めています。つまり、スクリプトレット コードをあまり使用しないようにします (代わりに JSTL などを使用します)。ある時点で、コードをさらに制御する必要があるかもしれません。それは Java クラスの登場であり、ここではどこまでやるべきかわかりません (私は個人的に、クラス内で HTML を生成するという考えが好きではありません)。
私が考える長所と短所は次のとおりです。
- taglib を使用すると、毎回サーブレット コンテナを再起動する必要がなくなります。変更を加えて結果を確認するだけです
- taglib JSP は、構文が「同じ」であるため、特に Web デザイナーにとって保守が容易です。
- Java クラスは、完全または詳細な IDE サポート (型/構文チェック) を提供します。
- 要件がより複雑な場合、Javaclass コードはより簡潔です (JSP のページコンテキストに変数を配置する場合と比較して)
- EL (式言語) は JSP/taglib にさらなる機能を追加しますが、これもまた別の構文であり、学習する必要があります。
これに対処するためのベストプラクティスはありますか?おそらく将来これを保守しなければならない同僚が他にもいるので、私はクリーンで保守可能な解決策を探しています - おそらく皆さんは、誰かのコードを見て、「彼/彼女は一体何を考えていたのか」という状況を知っているでしょう。 ;)
解決
私は過去にこの非常に単純保持している。
を使ってタグライブラリ目的はプレゼンテーションです。のあなたはStackOverflowのの場合には、ページの束に再利用しようとしている表示コードのブロックを持っていると言う、のは、矢印のコードをしましょう。それは単にデータを表示しなければならないので、それが必要とJavaコード、およびIはタグライブラリを使用すると思いべきではありません。
を使用するJavaコードは、データを畳み込むする必要がある場合。を使用すると、リソースバンドルに見えるか何かにいくつかの非汎用的な書式設定を適用する必要がある場合、私はJSTL機能を好むが、私は、Javaコードを使用しますこのため、タグへ。
データベースにアクセスするためのいずれかを使用しないでください。