Seasar

tapestry-simple(quickstart) archetypeで作ったプロジェクトでAutoRegisterが動かない

app.diconをsrc/main/resources配下に置いた場合、ここがJava Build PathのLibraryにあるのがマズい。AutoRegisterがsrc/main/resourcesを起点にクラスファイルを探そうとするので何も登録されず終い。とりあえずLibraryから消してSourceに追加してあげるよ…

@S2Inject

いちいち @Inject("s2:") とか書くの面倒だし、そもそも文字列だし間違えるじゃん、というわけでS2Injectアノテーションを作ってみた。と言っても"s2:"と書かなくて済むようになるだけなんだが。。。 @S2Inject @S2Inject("s2:") @S2Inject("") は最初の例と…

tapestry-s2-integration

Web系から離れてしまって最近の情報に疎くなってしまった。 というわけで色々調査がてらTapestry5とS2を統合してみました。どうすればいいのかなとか考えてたらいつの間にかT5のリポジトリにtapestry-spring-integrationとかできてるし。だから単純にパクっ…

HOT Deploy

おーすげー。クラス名を変更してビルドしたら即動いた。どうやってやってるんだろ?? 少し見てみると、Classファイルの変更を検出してるわけじゃなくて、そもそも1回キリの使い捨てというわけですか。リクエストの処理が終わったらClassLoaderごと捨てちゃ…

コンポーネント名とアクションのプロパティ

めも。 コンポーネント名とアクションのプロパティを同一の名称にしてはいけない。 ハマってたようなので。DTOがそうなってて、画面に値は出るがActionに渡らないという現象だった(気がする)。場合によっては、VBするためにコンテナからコンポーネントを取…

コンポーネントのライフサイクル

めも。 singletonのコンポーネントに対して、session、requestのコンポーネントはDIできない。 一見、よりライフサイクルの短いコンポーネントはDIできないのかとも思ったけど、sessionにrequestがDIできるところを見るとそうでもなさげ。ああそうか、、、当…

N:1のSELECT

これまでで、BOOKテーブルに関する基本的なCRUDはできた。と振り返ってみるともう2週間も前のことなのか、、、怠けてるな自分。。。 さて、S2Daoの機能はまだまだあるわけで、ここで終わってはいかん。というわけで、この辺で新しいテーブルを登場させてBOOK…

Seasar Strategies Day 2005

電通ビルきれいだったー。自社ビルなのかな? 前半 商用サポートは一応ありますって感じかな。ビジネスの面で何もないですよってのよりは、何かあった方が良いからという印象。60万円という価格も特に明確な根拠があってではないし、複数プロジェクトで使い…

insert、update、そしてdelete

select以外の、残るinsert、update、deleteを試してみる。 select以外はメソッドに命名規約がある。それに従えば、あとはselectと同じようにDAOのinterfaceにメソッドを定義すればいい。BookDaoにadd、modify、deleteのメソッドを追加するとこんな感じ。 pac…

複数レコードを返すselect

BOOKテーブルにあるすべての書籍を取得したい場合、つまりwhere句なしでselectしたい場合、DAOに定義するメソッドの戻り値の型をListか配列にすれば良いらしい。 すべてのEntity(Bookオブジェクト)をListで取得するgetAllBooksメソッドを追加したBookDaoは次…

別プロジェクトのdiconファイル

ビルドパスで他のプロジェクトを参照している場合、参照先にあるdiconは見てくれない模様。まぁ、どうせ最終的には自プロジェクト内に置くのだから、最初から置いておけという話しですな。 追記: 今ちょっと前に、kijimuna0.6.21にアップデートしたらエラー…

まずはselect

機会がなかったので機能を読んで追っていただけで実は使ったことがなかった。ここらへんでちょっと使いはじめてみようと思う。まぁ機会がないのは変わらないけど。 seasar.orgにはすばらしいマニュアルがあるが、S2Daoの機能がフルに解説されていて、僕とし…

SunのRI1.1で動かす つづき

えーっと。いくつか手を入れなければ、そのままでは動かない。以下、修正した点。 Sun RI1.1のcom.sun.faces.application.ViewHandlerImpl#createView たぶんバグ?なのかな。生成するUIViewRootがnew UIViewRoot();とハードコードされているため、faces-con…

S2JSFをSUNのRI1.1で動かす

単にweb.xmlからMyFacesに関する部分をコメントアウトしてjarを入れ替えるだけだと、TagProcessorImpl#processBodyTagのdo〜whileのところで無限ループに陥ってしまうみたい。〜までの描画が無限に繰り返されてOutOfMemory。 protected void processBodyTag(…

JSF

ふとS2JSFの処理シーケンスが気になってsamplesについてるweb.xmlを見たんだけど、なんで*.htmlへのリクエストがS2JSFに渡るのかさっぱり分からなかった。マッピングとしてはjavax.faces.webapp.FacesServletが呼ばれるし、この実装はMyFacesが持っているし…

SaxHandlerParser

をを、そんなものがあったのか。 食べる前に飲む!作る前に読む!もっともっと読まなきゃ。。。

Digester

こういうのもあり? <appConfig> <name>てすてす</name> <hoge value="ほげほげ" /> </appConfig> <digester-rules> <pattern value="appConfig"> <object-create-rule classname="uronim1.s2.digester.AppConfig" /> </pattern> <pattern value="appConfig/name"> </pattern></digester-rules>

S2AnA

おお。 instanceモードにrequestとかのライフサイクルが加わったときにOSUserとガッチャンコしてみたけど、なんかしっくりこなかった気がする。というか、OSUserって一向にリリースされないじゃん。 なので期待。

からさわぎ@東京終了

とても刺激的な内容でした。 やっぱり一番驚いたのは、S2JSFかな。行く前にsampleを動かしてはいたけど、実際に解説いただきながらだと全然違う。ほとんど業務ロジックだけ書けばOKというレベルにまで落ちているのがすばらしい。もうServlet直で使う時代は終…

からさわぎ@東京

申し込みました。 実装の視点から見たくーすを学ばせていただきます。

Kijimuna 0.6.5

重大なバグがあるとのことですが、僕の環境では発生していないみたい。それ以外で気になったところは、short型のプロパティにインジェクションすると、 Hogeクラス内にfugaプロパティ(java.lang.Integer)が見つかりません と出る。int型にすると出なくなる。