2016-12-20 9 views
0

にそれを得ることができますが、私は私のjspで持っていると言う:私は、HTMLを結果のようにJSP内のtaglibを宣言するとき、私は、出力htmlコード

<%@taglib prefix="foo" uri="/WEB-INF/foo.tld"%> 
<html> 
.... 
</html> 

は、出力にいくつかのHTMLコードをタグライブラリ宣言を取得することが可能です

<bar> 
SomeOutput 
</bar> 
<html> 
... 
</html> 

これは私にとってなぜ有用なのかを説明します。多くの場合、私はチャートを作成するときなど、javascriptを使用してドメイン固有のモデルをラップします。これを行うと、モデルからチャートを作成するための再利用可能なタグができます。より多くのコンテキストを提供するために、モデルは従業員のリストであり、チャートはヒストグラムまたは他のチャートで年齢を表示している可能性があります。

しかし、私が作成するこれらのカスタムタグライブラリは、JavaScriptライブラリに依存していることがよくあります。できるだけtaglibが宣言されている場所でこの宣言を行うことをお勧めします。これは、保守的にライブラリを常時インクルードするのではなく、JavaScriptライブラリをインクルードすることを忘れないようにして、作業。

別のアプローチも考えられますが、私はこの状況で他の開発者が何をするのか興味があります。

答えて

1

これはAFAIKできません。私は "init"タグを作成します(例えば、<foo:init />、これは必要な出力を行い、制御変数(例えばfooInitialized = true)をページ/リクエストコンテキストに入れます。 JSの初期化と出力)に行われており、エラーをスローしません。

同様のアプローチは、例えばLiferayのを使用している場合、あなたは<portlet:defineObjects />タグを使用してポートレット・オブジェクトを初期化する必要があります。

+0

このアプローチは、私のニーズには十分であるおかげで。 – Snickers3192

関連する問題