[Seasar-user:7608] Re: [Teeda+S2Dao] テキストフィールドに入力したIDがnullになる

Tetsutaroh Satoh [E-MAIL ADDRESS DELETED]
2007年 5月 12日 (土) 10:40:43 JST


佐藤徹太郎です。
Ishikawaさん、お返事ありがとうございました。

> いつもお世話になっております。状況が分からないので切り分けとして、以下の
>2つをやった場合、どちらがうまくいくでしょうか。
>・PageクラスのsetUserIdとdoSubmitにブレイクポイントを設定し、デバっグ実>
行する。
>・doSubmitからDaoを呼び出すときに以下のように値を固定で埋め込んで実行す
る。
> RentInfo[] rentInfo = getRentInfoDao().getAllRentInfo("1");

>1番目でsetUserIdが呼び出されない、あるいはdoSubmitが呼び出された段階で
>userIdがnullだとTeeda側を一通り見る必要があるでしょうし、2番目の方法でも
>Daoの呼び出しが正常に動かない場合は、Daoの設定周りを確認する必要があると
>思います。

1番目の場合、setUserId()は二回呼び出されています。
1回目はちゃんと012という値(userId)を
セットしているのですが、2回目でnullをセットしてしまいます。
ですので、doSubmit()が呼び出された段階ではuserIdはnullです。

2番目の方法の場合はDaoが正常に呼び出され、テーブルから、
期待通りのデータを取得し、表示してくれました。

ということは、Teeda側を一通り見る必要があるということでしょうか

よろしく御願いいたします。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Jundo Ishikawa
Sent: Wednesday, May 09, 2007 3:18 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:7553] Re:[Teeda+S2Dao] テキストフィールドに入力したID
がnullになる

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 mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user





Seasar-user メーリングリストの案内