"矢野 勉"
benbr****@mac*****
2008年 6月 26日 (木) 20:06:31 JST
矢野です。 Table内の<tr>要素を複数個たばねて繰り返す場合、私は<wicket:container>タグで囲いますねえ。 >「Strutsなどでカスタムタグ作ってデザイナーに認知してもらうのとどう違うの?」 >「wicketのデフォルト機能として、既知の技術として多少優位なだけで結局デザイナーが学習するハメにならない?」 >みたいな流れで・・・ そうですね。タグがどんどん増えていったら意味ないですね。 ただ、Wicketが別に今後タグをバンバン増やしていこうとしているわけではないですので、そこは安心してもいいかな、と思ってます。 私はStrutsカスタムタグとwicketタグにはけっこう違いがあると思ってるんです。 WicketのタグはStrutsのタグと違って、「HTMLタグの置き換えではない」「処理を記述するのではなく、あくまで範囲付け、意味づけに徹する」という特徴があります。 Strutsカスタムタグは既存のHTMLタグを置き換えます。たとえば<form>の変わりに<html:form>を使ったり、 <input type="text">の変わりに<html:text>を使うなどです。 このような置き換えタグを使うと、そのHTMLファイルはもはやブラウザで表示することは不可能です。デザイナも置き換えられたタグを覚えるしかありません。 Wicketのタグは「どこかを囲って範囲を指定する」といったものが多いのが特徴です。既存タグを置き換えることなく、基本的には追加するだけになっています。また、タグにはデザイン上の意味を持たせていません。 ブラウザは解釈できないタグは無視するのが決まりなので、Wicketのタグはブラウザの表示に基本的に影響を与えません。私の知る限り、HTMLエディタ(Dreamweaverなど)のプレビューでもWicketタグは無視されます。 Wicketタグは意図的にそのように作られています。HTMLを破壊しない、という意味は、ブラウザに解釈できるままにしておく、という意味です。 またStrutsカスタムタグには<logic:iterate>のような、ほとんどプログラミング言語のような制御タグがたくさんありますが、Wicketのタグは基本的には範囲指定のためにあります。たとえば<wicket:container>タグはWicketが領域を認識できるようにwicket:idを振るためだけにあり、それ以外の意味をもたないよう、デザイン上でも意味を持たないように配慮されています。<wicket:container>は単にブラウザによって無視され、無視された結果デザインが壊れることがないようになっています。 <wicket:>で始まるタグを消すな、という程度のことや、パネルでは<wicket:panel>で囲まれているところだけが解釈される、というくらいのことは知ってもらう必要があるでしょうね。その点はwicket:id属性からしてそうなのですが。そういう意味ではデザイナに対する影響がゼロではないでしょう。ただStrutsカスタムタグのように、デザイナが<logic:iterate>の意味を理解しないとどこを触っていいのかもわからない、ということはないでしょう。 ちなみにwicketのxhtmlタグは次のリンク先に一覧で見られます。 http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html もちろん、おっしゃるとおりタグの数がすくないほうがいいのは言うまでもありません。 Wicketでもタグの使用は最低限に抑えられるように考えられているように思いますし、タグを使う場合にはなるべく「ただ範囲を指定する」ようなものになるように、デザインに影響を与えないように、という配慮が一応なされていますよ、ということが言いたかったのでメールを書いてみました。 --------------------- 矢野 勉(やの つとむ) benbr****@mac***** 2008年06月26日 17:44 の "古川 烈" <r_f_315****@hotma*****>のメール: > >古川です。 >返答ありがとうございます。 > >> <wicket:container>タグを使うという手もあります。 > >早速試してみました。 > >1.<span> + setRenderBodyOnly(true) >2.<wicket:container> > >どちらも希望の動作を実現できましたが、 >どちらを使用すべきか悩むところです・・・ > >個人的には2の方が好みですが、 >(EclipseでHTMLエディターが「spanタグはそこに書けないよ?」などと言わないので) >ただ、便利になるとは言えHTMLの規格に無いタグがどんどん増えるのも考え物だとも思います。 >どんどん独自タグを増やしていくほうこうでwicketが進化するのであれば、 >それってwicketではないモノになってしまう気がします。 >「Strutsなどでカスタムタグ作ってデザイナーに認知してもらうのとどう違うの?」 >「wicketのデフォルト機能として、既知の技術として多少優位なだけで結局デザイナーが学習するハメにならない?」 >みたいな流れで・・・ > >と、言いつつ <wicket:remove> とかデザイナーとの連携的に素晴らしいと思いますが(笑 > >以上、ありがとうございました。 ------------------------------- 矢野 勉(benbr****@mac*****)