今まで JSP で struts の bean タグや logic タグで記述していたところを、JSTLを使って書かなくちゃいけなくなった。めんどっちぃ。ということで、対応表。
| struts taglib | JSTL |
|---|---|
| bean:define | c:set |
| bean:cookie | c:set |
| bean:header | c:set |
| bean:parameter | c:set |
| bean:message | fmt:message |
| bean:write | c:out |
| bean:write format="yyyy/M/d" | fmt:formatDate pattern="yyyy/M/d" |
| bean:include | c:import |
| logic:empty | c:if test="${empty x}" |
| logic:notEmpty | c:if test="${not empty x} != null" |
| logic:present | c:if test="${empty x}" |
| logic:notPresent | c:if test="${not empty x} != null" |
| logic:equal | c:if test="${x == 'abc'}" |
| logic:notEqual | c:if test="${x != 'abc'}" |
| logic:greaterEqual | c:if test="${x >= 0}" |
| logic:greaterThan | c:if test="${x > 0}" |
| logic:lessEqual | c:if test="${x <= 0}" |
| logic:lessThan | c:if test="${x < 0}" |
| logic:iterate | c:forEach |
logic:match に対応するもんは無いのかな。どうせなら正規表現マッチとかできたら楽しいんだけどなあ。あとは、bean:size に対応するタグが無いのも痛い。JSTL1.1からある fn:length とか使うと良いっぽいけど、開発環境 JSTL1.0 だった気がする。でも、そのままでも、ちょっと工夫すれば取れるのか。
柔軟性ありそうな感じなんで、使っていくとハマるかな。
このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/297
- 他人 at 2006年1月20日 12:28
あれ、デザイン変更したせいかな?
確認ボタン押すとデザイン崩れるよ。
おもしろいけど。
- dT at 2006年1月20日 15:46
そうそう、strutsタグって冗長的ですよね。
いちいちまどろっこしくて、bean:defineしまくってタグをネストして…
その点ではJSTLは非常に優れていて使いやすいと思いました。> スクリプトレットの記述先がタグになってるだけじゃん
でも、スクリプトレットよりも見通しが良くなった感じしましたよ。
デザイナーはXML的なタグの構造を知ってさえいれば、
式を直接書くよりも、手を入れやすいでしょう。> 確認ボタン押すとデザイン崩れるよ。
テンプレートいじって直しますた。サンクス!

strutsタグは表現が冗長的で、忘れちゃうと本を引っ張ってこないのがツライとこだよね。
JSTLは制御式を直線的に書けるので、大体覚えちゃうとあとはラクそうだ。
とはいえ、JSPのタグの表現方法自体が冗長的だよねぇ。
test="${x >= 0}"
なんだよコレ。
スクリプトレットの記述先がタグになってるだけじゃん、
なんてコトを考えてみたり。