アホな事
昨日、どうやったら解決できるか調べまくって、お風呂で読み込もうと思ったけど、ついついアホな記事を書くのに夢中になってしまった、ホームランです。
あのね、答えが見付かったかも知れないです。
それが、DTOと言うオブジェクト指向の考え方、と言うかパターンの一つです。
(* ゚∀゚)
リストに出力されている情報を繰り返し取得すると、コントローラが忙しくなっちゃうから、もっとSQL寄りでデータを収集する機構を作るのです。
(*‘ω‘ *)
例えばユーザー全員の情報が載っているリストがブラウザにあって、ユーザー名、パスワード、年齢、住所、連絡先が記述されてるとして......、
(;゚Д゚)
それをいちいちコントローラで取得するとあっちいったりこっちいったりで大変なのです。
だから、データベースに近いところで全員分のデータを集積して、一片にコントローラに送る仕組みを作るのですよ。
(´_ゝ`)
例えば、Amaz○nから直接物を配送してたら行ったり来たりが忙しいので、ある程度集積して、トラックで回りながら配る、ってイメージ。
(* ゚∀゚)
ん?
でも、それって、あれか、データベースから取得する方法か......。ホームランの場合、ブラウザから抽出したいんだったわ。
( ´;゚;∀;゚;)
書いてて気付いた。
(。´Д⊂)
んで、更に調べ直してみたのですが、有力な情報が複数見付かりました。
まさにこれって情報です。
(*゚∀゚)=3
でも、ちょいと複雑で、ホームランが使ってるのと少しネーミングが違うんだよなぁ......。アノテーションも知らないのばかりだし......。
( ´;゚;∀;゚;)
何個かサイトを見付けたので、読み込んでいって、試せるところを把握しよう。
implements serializableとか、分からないものはなるべく使いたくないので、エッセンスだけでも取り入れられるようにしておこう。
( ;´・ω・`)
後、現在進行中ですが、学校のテキスト以外のアングルでタイムリーフを学び直すのも有用みたい。
結構忘れてる部分も多いです。
( ;∀;)
薬が効くまでは、読み込んでいこう......。
(。´Д⊂)
<tr th:each="item:${itemsList}" th:object="${itemData}"/>
<td th:field="*{name}"/>
<td th:field="*{price}"/>
<td> <input type="number" th:field=*{amount}><td>
</tr>
でタグはあってると思うんですが、itemsListを出力した物と付随する個数(amount)を丸々取得したいんですよね。
( ;´・ω・`)
最終的なまとめ方はList<ItemData> itemsListとして......。
その為にItemsList<ItemData> getItemDataListメソッドをコレクションクラスに作って、
ItemDataクラスも作ってるのですが、取得の流れを知りたい。
(。・`з・)ノ
th:fieldに記載された変数名をサービスか何かで受け取って、順次リストに加えて行くイメージで、もう一度記述をこねくり回してみないとな......。
( ´;゚;∀;゚;)
実際は入力要素として、読了チェックボックスもあるし、変更があった時点で自動的にオンになるチェックボックスもあるから、もうちょっと複雑なのですが、ダミーデータを用意してテストしてみよう。
( ´Д`)=3
th:field要素って、サーバーに出力出来たっけ?
コレクションのList<ItemData>ってサービスにに記述ならば、一回だけだし作らなくても良いんじゃない?って、どうしても思っちゃう。
( ;´・ω・`)
サービスにビジネスロジック作れば良いから、for文でブン回して、List<ItemData> itemDataを渡して行けば良いのかな......?
したら、やっぱりコントローラも忙しいかな......?
ヽ(´Д`;≡;´Д`)丿
コントローラで丸々、ドーンとサービスに渡してみたい。
(。´Д⊂)