No primary or single public constructor found for interface java.util.List
このエラーに5時間位かかりましたね。意味わからんかったー
結局セッションオブジェクトの扱い方がわかっていなくて、コントローラーのメソッドの引数に@ModelAttributeなしでList<Integer> ListInt,
みたいに渡してて、これがアカン買ったようです。
大まかなイメージ
- セッションに置きたい名前を準備
- その名前にオブジェクトを結びつける
- model.addAttributeでセッションに保存する
- メソッドの引数に@ModelAttributeをつけてセッションから取得
実装する場所
コントローラーの上に
@SessionAttributes( value="〇〇")
〇〇
にはオブジェクトの名前(属性名)
コントローラーの中の一番上に@ModelAttributeでオブジェクトを準備
@ModelAttribute( value = "〇〇" )
public △△型 setUp〇〇(){
return new △△();
}
セッションのコンストラクタ?
これで、〇〇という名前の△△型のオブジェクトが準備される
メソッドの引数に@ModelAttributeでセッションから取得
public method(
@ModelAttribute("〇〇") △△型 〇〇,
Model model
){
modelも必要でした
メソッド内で
model.addAttribute("〇〇", 〇〇)
ここでセッションの中の"〇〇"という名前でオブジェクトを保存することができます
別のコントローラーでは@ModelAttribute無しでも持ち回れたんだけど・・・
基本がわかっていないからこういうことになるんですけど、まだまだ駆け出しなのでうまく行ったものを正解だと思って同じようにやってるんだけど、ちょっと変わってくるとエラーが出て「さっきはできてたやん!!」って叫びたくなりませんか??!!
まあ勉強にはなるんですけど、、、、