Seasar
app.diconをsrc/main/resources配下に置いた場合、ここがJava Build PathのLibraryにあるのがマズい。AutoRegisterがsrc/main/resourcesを起点にクラスファイルを探そうとするので何も登録されず終い。とりあえずLibraryから消してSourceに追加してあげるよ…
いちいち @Inject("s2:") とか書くの面倒だし、そもそも文字列だし間違えるじゃん、というわけでS2Injectアノテーションを作ってみた。と言っても"s2:"と書かなくて済むようになるだけなんだが。。。 @S2Inject @S2Inject("s2:") @S2Inject("") は最初の例と…
Web系から離れてしまって最近の情報に疎くなってしまった。 というわけで色々調査がてらTapestry5とS2を統合してみました。どうすればいいのかなとか考えてたらいつの間にかT5のリポジトリにtapestry-spring-integrationとかできてるし。だから単純にパクっ…
おーすげー。クラス名を変更してビルドしたら即動いた。どうやってやってるんだろ?? 少し見てみると、Classファイルの変更を検出してるわけじゃなくて、そもそも1回キリの使い捨てというわけですか。リクエストの処理が終わったらClassLoaderごと捨てちゃ…
めも。 コンポーネント名とアクションのプロパティを同一の名称にしてはいけない。 ハマってたようなので。DTOがそうなってて、画面に値は出るがActionに渡らないという現象だった(気がする)。場合によっては、VBするためにコンテナからコンポーネントを取…
めも。 singletonのコンポーネントに対して、session、requestのコンポーネントはDIできない。 一見、よりライフサイクルの短いコンポーネントはDIできないのかとも思ったけど、sessionにrequestがDIできるところを見るとそうでもなさげ。ああそうか、、、当…
これまでで、BOOKテーブルに関する基本的なCRUDはできた。と振り返ってみるともう2週間も前のことなのか、、、怠けてるな自分。。。 さて、S2Daoの機能はまだまだあるわけで、ここで終わってはいかん。というわけで、この辺で新しいテーブルを登場させてBOOK…
電通ビルきれいだったー。自社ビルなのかな? 前半 商用サポートは一応ありますって感じかな。ビジネスの面で何もないですよってのよりは、何かあった方が良いからという印象。60万円という価格も特に明確な根拠があってではないし、複数プロジェクトで使い…
select以外の、残るinsert、update、deleteを試してみる。 select以外はメソッドに命名規約がある。それに従えば、あとはselectと同じようにDAOのinterfaceにメソッドを定義すればいい。BookDaoにadd、modify、deleteのメソッドを追加するとこんな感じ。 pac…
BOOKテーブルにあるすべての書籍を取得したい場合、つまりwhere句なしでselectしたい場合、DAOに定義するメソッドの戻り値の型をListか配列にすれば良いらしい。 すべてのEntity(Bookオブジェクト)をListで取得するgetAllBooksメソッドを追加したBookDaoは次…
ビルドパスで他のプロジェクトを参照している場合、参照先にあるdiconは見てくれない模様。まぁ、どうせ最終的には自プロジェクト内に置くのだから、最初から置いておけという話しですな。 追記: 今ちょっと前に、kijimuna0.6.21にアップデートしたらエラー…
機会がなかったので機能を読んで追っていただけで実は使ったことがなかった。ここらへんでちょっと使いはじめてみようと思う。まぁ機会がないのは変わらないけど。 seasar.orgにはすばらしいマニュアルがあるが、S2Daoの機能がフルに解説されていて、僕とし…
えーっと。いくつか手を入れなければ、そのままでは動かない。以下、修正した点。 Sun RI1.1のcom.sun.faces.application.ViewHandlerImpl#createView たぶんバグ?なのかな。生成するUIViewRootがnew UIViewRoot();とハードコードされているため、faces-con…
単にweb.xmlからMyFacesに関する部分をコメントアウトしてjarを入れ替えるだけだと、TagProcessorImpl#processBodyTagのdo〜whileのところで無限ループに陥ってしまうみたい。〜までの描画が無限に繰り返されてOutOfMemory。 protected void processBodyTag(…
ふとS2JSFの処理シーケンスが気になってsamplesについてるweb.xmlを見たんだけど、なんで*.htmlへのリクエストがS2JSFに渡るのかさっぱり分からなかった。マッピングとしてはjavax.faces.webapp.FacesServletが呼ばれるし、この実装はMyFacesが持っているし…
をを、そんなものがあったのか。 食べる前に飲む!作る前に読む!もっともっと読まなきゃ。。。
こういうのもあり? <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>
おお。 instanceモードにrequestとかのライフサイクルが加わったときにOSUserとガッチャンコしてみたけど、なんかしっくりこなかった気がする。というか、OSUserって一向にリリースされないじゃん。 なので期待。
とても刺激的な内容でした。 やっぱり一番驚いたのは、S2JSFかな。行く前にsampleを動かしてはいたけど、実際に解説いただきながらだと全然違う。ほとんど業務ロジックだけ書けばOKというレベルにまで落ちているのがすばらしい。もうServlet直で使う時代は終…
申し込みました。 実装の視点から見たくーすを学ばせていただきます。
重大なバグがあるとのことですが、僕の環境では発生していないみたい。それ以外で気になったところは、short型のプロパティにインジェクションすると、 Hogeクラス内にfugaプロパティ(java.lang.Integer)が見つかりません と出る。int型にすると出なくなる。