歴史

カスタムタグは設定が複雑であまり利用されなかったクラシックタグの時代があり、JSTLなどの標準化されたタグがそれなりに使われるようになった。

tldファイル

最近のWebコンテナではweb.xmlでの設定は不要。WEB-INF以下においておけば起動時に検索してくれるようになった。

attribute要素

rtexpvaluetrueだと属性の指定にELなどが使えるようになる

body-content要素

empty以外非常にわかりずらいので入念に解説

empty

bodyが空でなければならない

<mytag:test/> はOKだけど
<mytag:test>hoge</mytag:test> はNG

これはシンプルでわかりやすい!ほかの要素のわかりづらさは異常。

tagdependent

bodyの内部処理はタグに依存するという意味で、JSPコードを書こうがそのまま出力されるということ。bodyをそのまま出力するカスタムタグを作った場合

<mytag:test><%= request %></mytag:test> → <%= request %>とそのまま表示される。

scriptless

JSPスクリプトがなし。つまりスクリプトレット使用不可能。下記記述はエラー!

<mytag:test><%= request %></mytag:test>

JSPフラグメントとはなんぞや

フラグメントとは固まりのこと。これまで属性値は一行で収まる範囲で指定していたが、フラグメントを利用すると数行に渡る固まりを属性値として渡すことができる。

<mytag:test contents="表示内容"/> これだと表示内容が増えたときに横に伸びて見づらい
<mytag:test>
  <jsp:attribute name="contents">
     とっても膨大で何行にも及ぶコンテンツ
     とっても膨大で何行にも及ぶコンテンツ
     とっても膨大で何行にも及ぶコンテンツ
  </jsp:attribute>
</mytag:test>

jsp:bodyタグで囲う必要がある。

Counter: 4576, today: 1, yesterday: 0

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-10-14 (金) 13:16:53