[Seasar-user:7553] Re: [Teeda+S2Dao] テキストフィールドに入力したIDがnullになる
Jundo Ishikawa
[E-MAIL ADDRESS DELETED]
2007年 5月 9日 (水) 15:17:49 JST
JUNDUです。
いつもお世話になっております。状況が分からないので切り分けとして、以下の
2つをやった場合、どちらがうまくいくでしょうか。
・PageクラスのsetUserIdとdoSubmitにブレイクポイントを設定し、デバッグ実行
する。
・doSubmitからDaoを呼び出すときに以下のように値を固定で埋め込んで実行する。
RentInfo[] rentInfo = getRentInfoDao().getAllRentInfo("1");
1番目でsetUserIdが呼び出されない、あるいはdoSubmitが呼び出された段階で
userIdがnullだとTeeda側を一通り見る必要があるでしょうし、2番目の方法でも
Daoの呼び出しが正常に動かない場合は、Daoの設定周りを確認する必要があると
思います。
以上です。
07/05/09 に Tetsutaroh Satoh<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 佐藤徹太郎です。
> ひがさん、お返事ありがとうございました。
>
> public interface RentInfoDao {
> @Arguments("userId")//追加
> public RentInfo[] getAllRentInfo(String userId);
> }
> と、
> where user.id=/*userId*/1
>
> をやってもDaoのメソッドの引数にはnullが
> 設定されてしまいます。
> Eclipseのログには以下のように表示されます。
> BEGIN book.chura.dao.RentInfoDao#getAllRentInfo(null)
>
> user.name,
> user.entryDate,
> user.kind,
> user.contact,
> rentInfo.limitDate,
> bookSpec.title
> from book left outer join bookSpec
> on book.bookSpecId = bookSpec.id
> left outer join rentInfoDetail on book.
> id = rentInfoDetail.bookId
> left outer join rentInfo
> on rentInfoDetail.rentInfoId = rentInfo.id
> left outer join user
> on rentInfo.userId = user.id
> where user.id=null
>
> いろいろ試してみます。
> ありがとうございました。
> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED]
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Yasuo Higa
> Sent: Monday, May 07, 2007 8:34 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:7529] Re: [Teeda+S2Dao] テキストフィールドに入力したID
> がnullになる
>
> ひがです。
> >
> > 佐藤徹太郎です。
> >
> >
> > テキストフィールドにIDを入力してサブミットすると
> >
> > テーブルから値を取得して表示するというアプリケーション
> >
> > を作っているのですが、テキストフィールドに入力したIDが
> >
> > Pageクラスで呼び出したDaoのメソッドの引数でnullに
> >
> > なってしまいます。原因がわかりません。
> >
> > 以下、Daoクラス
> >
> >
> >
> > public interface RentInfoDao {
> >
> > public Class BEAN = RentInfo.class;
> >
> @Arguments("userId")//追加
> public RentInfo[] getAllRentInfo(String userId);
> >
> > }
> >
> >
> >
> > SQLファイル
> >
> > RentInfoDao_getAllRentInfo.sql
> >
> > select user.id,
> >
> > user.name,
> >
> > user.entryDate,
> >
> > user.kind,
> >
> > user.contact,
> >
> > rentInfo.limitDate,
> >
> > bookSpec.title
> >
> > from book left outer join bookSpec
> >
> > on book.bookSpecId = bookSpec.id
> >
> > left outer join rentInfoDetail on book.
> >
> > id = rentInfoDetail.bookId
> >
> > left outer join rentInfo
> >
> > on rentInfoDetail.rentInfoId = rentInfo.id
> >
> > left outer join user
> >
> > on rentInfo.userId = user.id
> >
> where user.id=/*userId*/1
> > where user.id=?
> に修正。
>
> でいけるんじゃないかと思います。
>
> --
> Yasuo Higa
> [E-MAIL ADDRESS DELETED]
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
Jundo Ishikawa <[E-MAIL ADDRESS DELETED]>
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Seasar-user メーリングリストの案内