2004-11-11から1日間の記事一覧

-起床

ちゃんと朝、7時に起きれました。スカパーでユベントスvsフィオレンティーナをやってたので見ながら朝食。普段は会社まで歩いて15分(バスで5分、最近はほとんどバス)でいけるのと定時10時始まりなので、8時30分におきて9時15分ぐらいに家を出ていたのです…

-Nirvana(1)

「涅槃」という名前を持つ、HTML2JSPプリプロセッサのNirvanaをCVSゲット。で、ファーストインプレッション、GOOD。だが、惜しい。私はやり方によってはNirvanaもしくは新HTML2JSPプリプロセッサは影響力はS2Containerぐらいのものになるかもしれないと思い…

-Nirvana(2)-Nirvanaとは何か

いきなりNirvanaとは何かとは台上談ですが、ソースをひととおり見させていただいてポイントをまとめてみます。NirvanaはHTMLをプリプロセスしてJSPファイルを作成し、その作成JSPをJasperにコンパイルさせてサービスするものです。プリプロセッサとコンパイ…

-Nirvana(3)-Nirvanaと私的イメージの相違点

目の付け所がシャープなNirvanaですが、私の昨日の思いつき(妄想?)で見たイメージと違うところを説明します。まずNirvanaがJSFの実装と関係が深い点に違和感があります。用意されたHandlerはすべてJSFタグおよびその関連にマッチングしていくものです。で…

-私的イメージ(1)-概要

さて、NirvanaをベースにTapestryのテイストを取り込んだ昨日の思いつきをまとめます。今日までにイメージを若干アップデートしてます。まずは要件概要から。 Plain Old HTMLをコンパイルしてサーブレットにする。 HTML?XHTML?→HTMLでやってみましょう。 …

-私的イメージ(2)-ナナシナー(仮称)

「名前が無いので呼びにくいあの人」は仮にナナシナーとでもしておきましょう。とりあえずGoogleではヒットしませんので仮名としてOK。 ナナシナーはサーブレットとして提供されるべきです。しかし、JSFのフロントエンドにおくのが最終目的でもありますから…

-私的イメージ(3)-JSPタグインジェクション

ナナシナーはJSPタグライブラリをサポートします。JSPタグ自身にはその使われ方を定義されていない、というのは前に書きましたが、出力するものは定義(というか実装)されてます。ここで心配なのは世のすべてのJSPタグがXHTML出力をサポートしてるとは限ら…

-私的イメージ(4)-舞台裏

ごくあたりまえな先のc:outタグのインジェクションの舞台裏で、Javaのソースに変換するのは次のワークフローです。 HTMLのSAXパース開始。 名前空間の定義からTLDをとっておく。 jwcid属性をもってないHTMLタグはそのタグを書き出すコードを書く。 jwcid属性…

-私的イメージ(5)-自動インジェクション

はじめはformタグとかinputタグでtype属性がtextのものとかは設定XMLのルートでautoBinding="auto"なら有無を言わせずJSFタグ(もしくはStrutsタグなど、設定による)に置換えてしまおうかなと思ったのですが、弊害がありそうなのでとりあえず保留。うまい仕…

-仕事おわり

よし、今日の予定は終わった。

-私的イメージ(6)-式言語

ちょっと調べると、JSTLタグおよびJSFタグでELを評価するようなので、OGNLに置換えは無理かなと思ってます。技術的にクリアできるのであればOGNLにしたいと思います。これも後で調べておきましょう。

-私的イメージ(7)-存在できない子タグを作る

さて、問題の、HTML上のinputタグに、JSFのinputTextを割り当てたときに子タグでConverterやValidatorを指定したいがHTML的(NekoHTML的)にNG。どうしようか考えました。金言「押してもダメなら引いてみな」。パーサーを作るということは仕様さえしっかりす…

-私的イメージ(8)-メソッドバインディング

もし、OGNLに式言語を置き換えられたとしたら、逆に厄介なことがひとつあります。それはリスナー等のメソッドバインディングです。JSFのcommandButtonタグのaction属性ではEL式で処理を委譲するリスナーメソッド指定します。同じようにはOGNLはできないと思…

-私的イメージ(9)-バインディング情報のウエイト

HTMLテンプレートの属性値と設定XMLに定義されたバインディング情報の名前が重複したときにはどういうウエイトにするか。重い(優先)される順はこんな感じかなと思います。 設定XMLの設定 出現順が先 出現順が後(よって設定されない) HTMLテンプレートの…

-私的イメージ(10)-テンプレートの切り替え

これは結構大事な機能だと思います。すくなくともロケールの切り替えは必須。I18Nをコンポーネントレベルでやるとき、あまり動的でなく、多分にデザイン的な要素についても少なからずロジックが入ってしまいます。もちろんすでにJSTLタグやStrutsタグなど普…

-私的イメージ(11)-設定XMLのリテラルバインド

書き忘れましたが、設定XML中でリテラル値をバインディングするのは当然、以下のとおりです。書かずとも読めていたかもしれません。 <taglib prefix="c" url="http://java.sun.com/jstl/core"/> <component name="greeting" type="c:out"> <static-binding name="value" value="こんにちは"/> </component> 理由は聞くな、大人なら(笑。あと手持ちにあるのは、message-bindingです。inherited-bindingは多分構造上無理でしょ</taglib>…

-私的イメージ(12)-テンプレートへのAOP?

ちょっと考えた案があったのですが、ナンセンスな気がしてきたので保留します。

-私的イメージ(13)-まとめ

まず小まとめすると、要はTapestryが良くできてるのです。しかし、Tapestryが守備範囲をひろげて難解なビューモデル層を強制するのだけがいただけない。このほかのプレゼンテーション層フレームワークはWEBデザイナーとJavaプログラマーの平行作業を妨げます…

-ロードマップ

とりあえず、からさわぎまで妄想仕様を煮詰めます。コードは書きません(正確には書けません)。どうやるか、やらないかは11月21日未明あたりで相談です(笑。ぜんぜん壮大な話ではないでしょ?NirvanaとJasperとTapestryからアイディアをパクりまくってそれ…

-家にかえります

家に帰ります。23時をすぎてしまいました。おなかへりへり。へりはらまさくり。あとは、WEBアプリケーションを作ったとき、どんなファイルが配置されるのかな?ということをちょっと考えてから書きます。今日、もしくは明日にでも。

-私的イメージ(14)-式言語の調査

残念ながら、式言語記法はJSFでは#{***}のフォーマットが固定です。MyFacesの実装をみてみたところ、タグライブラリの中で式言語を評価する直前で#{***}という形であるかをハードコーディングでチェックしてました。少なくともMyFacesでアウトなのでel:プレ…

-トラックバック

なぜ気がついたのかはわかりません。ふと、BLOGをエディットしているときに、下のほうにURLがでてるじゃないですか。トラックバックというものです。なんだろうと思って押してみました。そしたら、私の書いたことに反応いただいた記事があったわけです。びっ…

-式言語の囲い記号

なぜJSFが#{}で囲われて、JSP2.0が${}で囲われるのかが、風呂に入ってたときにおぼろげにわかりました。JSP2.0ではタグの属性だけでなく、どこでも${}で囲うと式言語ブロックになるじゃないですか(って今日知ったんだけど)。ということは、その式言語をJav…