質問するログイン新規登録

質問編集履歴

1

質問したかった内容を間違えたので、該当箇所を修正しました。

2020/06/20 14:45

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,19 +3,23 @@
3
3
  セッションを用いて買い物カゴの管理をしたいと考えています。
4
4
 
5
5
  ### 発生している問題・エラーメッセージ
6
+ (6/20/23:30ごろ内容修正)
6
- 現在、ビューから送られてきたデータをセッションに詰めるところまはできていると思うのですが、表示ができていません。
7
+ 現在、1件表示ができているのですが、2件目以降表示ができていません。
8
+ リストを使って表示すればいいのかなと考え、リストを使って試行錯誤しているのですがうまくいかず…
7
9
 
10
+ セッション管理についてまだ理解が浅いです。
8
- ビューから送られてきたidをコンローラーで主キー検索し、その情報setAttributeでセッションに格納しています。
11
+ リスとセッション使って一覧表示がきるのか、セッションだけで一覧表示ができるのか、これ以外物カゴの効率のいい実装方法があるのかご教授お願いいたします。
12
+ よろしくお願いいたします。
9
13
 
10
- そもそもこれではセッションにデータが格納されていないのか、何か足りないのかを教えていただきたいです。
11
14
 
15
+ index.html
12
16
  ```HTML
13
17
  <form method="post" th:action="@{/add}">
14
18
  <input type="hidden" name="id" th:value="${item.id}" />
15
19
  <input type="submit" value="買い物かごに入れる" />
16
20
  </form>
17
21
  ```
18
-
22
+ Controller.java
19
23
  ```Java
20
24
 
21
25
  @Controller
@@ -37,36 +41,52 @@
37
41
  //注文一覧表示
38
42
  @RequestMapping(path = "/basket/list")
39
43
  public String basketList(@ModelAttribute("basket") BasketBean session_rq, Model model) {
44
+ //(6/20/23:30ごろ内容修正)
45
+ List<BasketBean> basketList=new ArrayList<>();
46
+ basketList.add(session_rq);
47
+ session.setAttribute("baskets", basketList);
40
48
 
41
- session_rq.getName();
42
- session_rq.getOrderNum();
43
- session_rq.getStock();
44
-
45
49
  return "basket/basket_list";
46
50
  }
47
51
 
48
52
  /*
49
53
  * 商品を買い物かごへ追加する
50
54
  */
51
- @RequestMapping(path = "/basket/add", method = RequestMethod.POST)
55
+ @RequestMapping(path = "/add", method = RequestMethod.POST)
52
56
  public String addItem(Model model, @ModelAttribute("BasketBean") BasketBean bas_rq) {
53
57
 
54
58
  setBasketBean(bas_rq);
55
59
  return "redirect:/basket/list";
56
60
  }
57
61
  ```
58
-
62
+ 一覧表示画面のテーブル部分を抜粋しています。
63
+ out.html
64
+ ```html
65
+ <tr th:each="basket: ${baskets}">
66
+ <td th:text="${basket.name}"></td>
67
+ <td th:text="${basket.orderNum}"></td>
68
+ <td th:text="${basket.stock}"></td>
69
+ </tr>
59
70
  ```
60
- コード
61
- ```
62
71
 
63
72
  ### 試したこと
64
73
 
65
74
  [Spring BootでSessionを扱う(SessionAttribute版)](https://blog.okazuki.jp/entry/2015/07/05/214538)
75
+
66
76
  [Spring書き込み編_番外.リクエストされた値をセッションに入れる](https://qiita.com/shibafu/items/f46f0fd529554b8cc1b2)
67
77
 
78
+ [TERASOLUNA Global Framework Development Guideline 1.0.0.publicreview documentation](https://terasolunaorg.github.io/guideline/public_review/ArchitectureInDetail/SessionManagement.html#sessionattributes)
68
79
  上記のサイトを参考にしてソースを書きました。
69
80
 
81
+ ```java
82
+ List<BasketBean> basketList=new ArrayList<>();
83
+ basketList.add(session_rq);
84
+ session.setAttribute("baskets", basketList);
85
+ ```
86
+
87
+ 上記の部分を試行錯誤しているのですが、うまくいきません。
88
+ 買い物カゴに追加された商品を一覧表示するのにはリストは必要なのでしょうか?
89
+
70
90
  ### 補足情報(FW/ツールのバージョンなど)
71
91
  Spring Framework4(Spring Boot2.1.1)
72
92
  thymeleaf3.0.11