jsp taglibとjspページを含めることの基本的な違いは何ですか?

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

  •  02-07-2019
  •  | 
  •  

質問

iには、いくつかのhtmlを生成する共通の要素(コンポーネント)がいくつかあります。私のオプションはtaglibを作成するか、単にそのロジックをjspページに入れてjspを含めるようです。

違いは何ですか?ポジティブvsネガティブ?

役に立ちましたか?

解決

通常、taglibを使用する場合:

  • _jspService内からヘルパーメソッドを記述して呼び出します
  • ヘルパーメソッド内でタグクラスのインスタンスが作成され、標準メソッドが呼び出されます(setParent()、doStartTag()、doEndTag()など)

これにより、すべてのコードが同じリソース内に保持されるため(要求は別のコンポーネントに渡されません)、ループ動作を組み込み、現在のページの他のコンポーネントにアクセスできます。

タグライブラリの学習にはオーバーヘッドがあります。しかし、最初のタグが機能するようになったら、すべてが下り坂になります。また、最終的な結果は、開発者以外でも理解しやすくなります(タグに適切な名前を選択した場合)。

他のヒント

Taglibsを使用すると、ドキュメント化できる(入力された)パラメーターを定義できます。また、taglibはオブジェクトツリー内の位置を認識できるため、異なるコンテキストで異なる動作をします。または、特定のテンプレートを繰り返し呼び出して、反復子またはステートメント構造を作成します。

taglibが必ずしもJavaで書かれている必要はないことを知っていますか? JSPでtaglibを作成できるtagfilesという概念もあります。多くの場合、フラットなコンポーネントにより適しています...インクルードに非常に近い。

タグ(使いやすいJSPのようなタグファイルメカニズムを含む)は、厳密に型指定された名前付きパラメーターでの呼び出しをサポートしています。

別の信じられないほど便利で、驚くほどよく見落とされるJSPタグの機能は、 JspFragment 属性タイプです。これにより、JSPコードのチャンクをパラメーターとして、おそらく繰り返し呼び出されるタグに渡すことができます。

これらの強力なパラメーター化機能の欠如が含まれています。

taglibを使用すると、パラメーターの定義と処理が簡単になりますが、パラメーターの開発にはかなりのオーバーヘッドがあります。インクルードは単純ですが、強力ではありません。多くはあなたのスタイルに依存します。

私の経験では、人々はタブライブラリの作成を学ぶのに時間をかけたくないので、一般的にインクルードを使用します。公正な混乱につながる。チームが小さく、インクルードが複雑すぎない限り、それほど悪くはありません。しかし、それはコード臭です。

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