2004-11-01から1ヶ月間の記事一覧

-JSF1.2

JSR252で議論中のJSF1.2は、昨日取り上げたJSP2.1と対になるものということです。 JavaServer Faces 1.2 provides a minimal enhancement of the JavaServer Faces 1.1 specification. It is not a new feature JSR. The primary goal of this JSR is handli…

-JSP2.1

JSR245としてスタートしているJSP2.1のスペックですが、まさに昨日・一昨日の悩み解決になるかと思う文章が。 JavaServer Faces 1.0 (JSR-127) defines a standard framework for building User Interface components, and builds on top of JSP 1.2 technol…

-銀行 & 携帯機種変更

どうしても私じゃないとダメな用事で銀行へ。M&A以降、最近はすべて親会社にアウトソーシングだったのでしばらく来てませんでしたが、相変わらず月末の銀行は超混みですな。ということで、順番待ちカードをとって近くのビックカメラへ。携帯電話が最近バッテ…

-予定

月末、すなわち明日までにリリース予定の「ビューテンプレートエンジンMaya-初稿第3版」は、突発事項で今日および明日に何もできないのでちょっと延期です。今日と明日の分の2日延期。いまのところさらに突発事項がなければ12月2日(木)予定。

-睡眠不足

昨夜は徹夜麻雀でした。それでも容赦なく起こされ、昼前から妻の電動自転車を買いに、ちょっと高級感のある参宮橋の自転車屋さんへ。ブリジストンの500台限定とかいう電動自転車らしからぬ良い感じのデザイン(これまでの電動自転車はとてつもなくダサい)の…

-式言語のコンテキスト

S2JSFを見ました。S2VariableResolverがいわばRootオブジェクトで、Mapをもって組み込み(もしくは暗黙)オブジェクトをハンドルしています。そのオブジェクトはJSFのAPIを通して、結局はMyFacesの実装が手当てしてくれます。実行時に式言語のコンテキストに…

-式言語エンジン

式言語エンジンの持ち方を考えていたところ、式言語エンジンへの疎結合だけでなく、背後のドメインモデルとのバインディングのやり方のカスタマイズも解決できたと思います。仮にインターフェイスだけ組んでみました。 package org.seasar.maya; import java…

-タグハンドラ

Nirvanaのタグハンドラの考え方を応用して、うまく考えると先延ばしの懸案のいくつかが同時に解決する気がしています。 カスタムタグの自動インジェクション マジックカスタムタグのユーザー定義 ルールベースによる複雑なインジェクション それぞれ個々の懸…

-たぶん誰かつくってるな

http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html 上記の記事を読んで、手元の本も見てみました。きっと世界のどっかでMayaと同じようなものを作ってる人がいるでしょう。でもなんで出てこないかというところが不思議。

-Jasper2ガイド(1)

さて、いよいよ実装着手も近づいてきましたので、Mayaの実装を行ううえで参考にするJasper2のソースのうち、見ておくと良いと思われる点を軽く流してガイドします。ガイドは、Tomcat5.5.4付属のJasper2のコードです。その中でも、まずは最重要のコードジェネ…

-Jasper2ガイド(2)

一応念のため。Generatorのコードは、JSPプロセッサーがどういうことをしているかなということを把握するために見ていただきたいのであって、パクるためではないです。コードジェネレーションも、Jasper2がやってるレベルまで詳細に落とし込む必要は無いと考…

-Jasper2ガイド(3)

パクりどころは、org.apache.jasper.servlet.JspServletWrapperかなと。

-JSP-APIガイド

JSPカスタムタグは、以下の4種です。 javax.servlet.jsp.tagext.Tag extends JspTag setPageContext(PageContext): void setParent(Tag): void getParent(): Tag doStartTag(): int doEndTag(): int release(): void javax.servlet.jsp.tagext.IterationTag …

-SimpleTagの非対応

JSP2.0より登場した、SimpleTagインターフェイスを実装したカスタムタグについては、利用できないこととします。Struts・JSF・JSTLにはSimpleTagを実装したカスタムタグはありませんし、内部的に系が違うAPIなので実装で二系統対応しないといけなくなってし…

-content & body

昨日のコメントにあったcontentとbodyのコンビですが、まずcontentがインジェクションされたタグの内側がコンポーネントになります。プレビューのためにhtmlやheadなどのタグもHTMLテンプレートに書かれているところ、それらを削除する機能ともいえます。一…

-Wiki

Seasar Wikiにちょっと書き込みをしてみました。初めてだったのでおっかなびっくり。まだちょっと慣れてないですが。

-クライアントサイドスクリプト

クライアントサイドスクリプトのコンポーネント化はTapestryの相当強力な機能です。が、よく知られてません。まとまったドキュメントは「Tapestry in Action」の8.2章ぐらいしか私はしりません。JSPカスタムタグにも無い機能なので同等のものは他にあるので…

-スクリプト仕様

スクリプト仕様は考えれば考えるほど難しいので延期で。まずは今出ている機能の取捨および突っ込みで集めた要望の取捨で仕様の磨きを限られた時間内でやりますです。次は自動インジェクションを考えます。 追記 と、書いたところ、TapestryアプリでMaya移植…

-テンプレートのエンコーディング指定

Mayaの生成する結果のMIME型とエンコーディングは、テンプレート中のmetaタグにて行います。これはHTMLの標準仕様の指定方法そのままで、以下のとおりです。 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> metaタグかつhttp-equiv属性に「content-type」が指定されているものをMayaがテンプレートHTML中</meta>…

-テンプレート自動選択機能

Hello Mayaサンプルでは、テンプレートがWEBページ毎に1枚のみでしたが、MayaはWEB1ページに複数のテンプレートを関連付けることができます。これは、たとえば以下のような要件を満たすためです。 ロケールによって英語が記述されたテンプレートと日本語が記…

-サービステンプレートの決定プロセス

Mayaが提供するWEBページは、背後に複数のファイルが存在する可能性があります。Maya設定XMLが存在することもありますし、HTMLテンプレートが複数ある可能性もあります。Localeサンプルでは、locale.html / locale_ja.html / locale.mayaの三つのファイルが…

-アプリケーション共通の設定

テンプレートの切り替え機能や、タグライブラリのロードなどをテンプレートもしくはそれに対応するMaya設定XML毎に記述するのは煩雑なことがあります。また、テンプレートの記述エンコーディングのようにMaya設定XMLにしか記述できない情報もありますが、そ…

-ちょっとハマリ

いじりどころ間違えてちょっとハマリ。レポジトリのに戻す。

-テンプレート内のタグ削除機能

Mayaの特徴は、ほぼ純粋な書式のHTMLをテンプレートとするために、テンプレートをWEBブラウザより開くだけでデザインの確認が容易にできることにあります。その際、繰り返し要素はロジックとしてはテンプレート上にひとつの要素を書けばよいのですが、プレビ…

-タグのグループ化

テンプレートがHTMLもしくはXHTMLなので、カスタムタグによっては表現力の不足が発生することがあります。想定しているケースはテンプレート上のinputタグにJSFのinputTextを割り当て、子エレメントでValidatorを指定したい時などです。 Maya組み込み機能に…

-Mayaドキュメント初稿第2版

Mayaドキュメントの初稿第2版をアップしました。 http://package.gluegent.com/~kurihara/maya/MayaDoc20041124.zip 変更点が多いので、すいませんが差分は管理できてなく、リリースノートは書けない。。。オープンプロセスということで、MLにも投稿しておき…

-HttpServletRequestの登録NG

HttpServletRequestなどのコンポーネントの登録でうまくいかない件ですが、根が深かった。。。マジックコンポーネントとしてrequest・respose・sessionを登録するContainerElement#setMagicComponent()というメソッドの論理バグです。ここでRTTIを直接登録し…

-仕様の捻案の残り

ほぼ基本的な機能は第2版で項目はだしましたが、残しているもので思いつくのは以下の機能。 テンプレートカスタムタグのクライアントサイドスクリプト機能 JavaやGroovyなどのロジックによるインジェクションルールベース カスタムタグの自動インジェクション…

-ドン引き(1)

よし、次の機会ではドン引き(by かくたにさん)上等で無茶なコマも一つくらいはつくれるようにしましょう!EclipseプラグインとかJasperとかJSFとかTapestryとかStrutsとかXercesとかNekoHTMLとかS2シリーズやKijimunaやMayaの内部、「明日役にたたないトリ…

-ドン引き(2)

Kijimunaのモデルビルダーはいろいろ迷ったり苦労したり、いまでもヤバイ問題が潜在しているんじゃないかと思っていたりしますが、その苦労のポイントの一つは永続化です。いちいち毎度モデルをフルビルドしていると、それだけでストレス感がある。また、Jav…