今日したこと 11/7(火)

 

■カートに追加した商品情報を保持するために作ったクラスの名前をSelectedItemに変更
・nameインスタンスとpriceインスタンスの追加

cart.jspで取り出したい商品名や値段を取り出す方法をDBを使う方法にする
・request.getParameterで選択されたIDと数量を取得。この情報はSelectedItemインスタンスをnewしてそこに詰めておく
・購入ボタンが押されたらjava側で選択されたIDからname,priceを検索(AddCart.java(コントローラ)で商品情報をDBから取ってくる)
・ItemDaoクラスにfindItemNameAndPriceBySelectedId(String selectedItemId)を追加
・selectedItemIdでitemNameとpriceをDBから取ってきて、Listに入れる(このためItemクラスにStringとint型の引数を受け取るコンストラクタを追加)
・AddCart.java(コントローラ)でListにつめた要素を取り出しSelectedItemクラスに代入する
jsp側でsessionに詰めておいたSelectedItemインスタンスに代入されているフィールドのデータを取り出す。

◎今日は選択した商品情報がcart.jspにうまく受け渡せない問題に取り組んだ。
Listの使い方がよくわかってないようで、内部でどのような動作をしているのか、どんな風に使えるのかをわかるようにすることが課題だ。
今日は直すところが多すぎて、結構混乱した。
一気に色々言われて固まってたら、やる必要がある作業を順序化してゆっくり教えてもらえた。
今日はItemIDでDBからname,priceを取ってくるところとかは褒めてもらえた。
ショボいかもしれないけど褒めてもらえると嬉しい。

今日の発見

SQLsyntaxErrorの確認方法
You have an error in your SQL syntax

こういう感じのエラーがコンソールに出ていて、それに気がついたはいいんだけど、何が違うのか全くわからなくて放っておいたら、質問した時やっぱりそこ注意された。
「スペースが全角かも。(スペース直しながら)ターミナルでこのSQL試してみた?」って聞かれて、そうやって確認するんやなって学んだ。
日本語と英語切り替えながら作業してるから、そんなつもりなくても全角スペースにしてることってあるんだなぁ。
最近、エラー読めば全て解決するわけじゃないなって思う。いや、できる人は解決するのかな?
でも、エラーの意味はわかっても、このエラーが出てきた時はこの可能性とこの可能性があるみたいなのがわかってすぐ対処できるようになるのかなって。
私が今日どうしても何が違うかわからなかったのに、教えてくれる人はすぐ思いついたように。
エラーを出して解決する過程というのは、本当に大事なんだなと思った。

メソッドの戻り値

Eclipseを使っているんだけど、今日初めて知ったのは、メソッドの戻り値が確認できること。
例えばListではsizeメソッドが使えるけど、size()ってところにマウスオーバーすれば、そのメソッドの戻り値が確認できる。

int java.util.List.size()

size
int size()

このリスト内にある要素の数を返します。このリストにInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。

こういうのが出てくる!
今更かって思うけど、そんな余裕なかったし、みてもわかんなかったということなのよね、、
みたことなかったわけじゃないけど、意識してなかったからなんとも思ってなかった。難しげなの出てくるなあとしか。。別に難しいこと書いてなかった、、、

こんな感じでわかることがちょ〜〜〜〜少しずつ増えていってます。
人より進むの遅いかもしれないけど頑張ろう〜。