strutsタグとJSTLの対応表

今まで JSP で struts の bean タグや logic タグで記述していたところを、JSTLを使って書かなくちゃいけなくなった。めんどっちぃ。ということで、対応表。

struts taglibJSTL
bean:definec:set
bean:cookiec:set
bean:headerc:set
bean:parameterc:set
bean:messagefmt:message
bean:writec:out
bean:write format="yyyy/M/d"fmt:formatDate pattern="yyyy/M/d"
bean:includec:import
logic:emptyc:if test="${empty x}"
logic:notEmptyc:if test="${not empty x} != null"
logic:presentc:if test="${empty x}"
logic:notPresentc:if test="${not empty x} != null"
logic:equalc:if test="${x == 'abc'}"
logic:notEqualc:if test="${x != 'abc'}"
logic:greaterEqualc:if test="${x >= 0}"
logic:greaterThanc:if test="${x > 0}"
logic:lessEqualc:if test="${x <= 0}"
logic:lessThanc:if test="${x < 0}"
logic:iteratec: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:27

strutsタグは表現が冗長的で、忘れちゃうと本を引っ張ってこないのがツライとこだよね。
JSTLは制御式を直線的に書けるので、大体覚えちゃうとあとはラクそうだ。

とはいえ、JSPのタグの表現方法自体が冗長的だよねぇ。
test="${x >= 0}"
なんだよコレ。
スクリプトレットの記述先がタグになってるだけじゃん、
なんてコトを考えてみたり。

他人 at 2006年1月20日 12:28

あれ、デザイン変更したせいかな?

確認ボタン押すとデザイン崩れるよ。

おもしろいけど。

dT at 2006年1月20日 15:46

そうそう、strutsタグって冗長的ですよね。
いちいちまどろっこしくて、bean:defineしまくってタグをネストして…
その点ではJSTLは非常に優れていて使いやすいと思いました。

> スクリプトレットの記述先がタグになってるだけじゃん

でも、スクリプトレットよりも見通しが良くなった感じしましたよ。
デザイナーはXML的なタグの構造を知ってさえいれば、
式を直接書くよりも、手を入れやすいでしょう。

> 確認ボタン押すとデザイン崩れるよ。

テンプレートいじって直しますた。サンクス!