質問編集履歴

4

意図的な内容抹消の取り消し

2019/06/27 08:33

投稿

sawai.mam
sawai.mam

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1 +1,219 @@
1
+ ### 前提・実現したいこと
2
+
1
- 解決しました解決しました解決しました解決しました解決しました解決しました解決しました
3
+ springフレームワークを使ってアクセサリーショップのECサイトを作成ておりす。
4
+
5
+ htmlの表示が思うように表示されず困っています。
6
+
7
+ そのためコントローラやリポジトリが正しいのかも分かりません。
8
+
9
+ プログラミング初心者です。
10
+
11
+ ご教授ください。
12
+
13
+ メインページの商品の一覧として、
14
+
15
+ ・過去に注文履歴がない場合→新着順に商品が表示される
16
+
17
+ ・過去に注文履歴がない(未ログインor会員登録はあるが注文履歴がない)場合→売筋順に商品が表示される
18
+
19
+ トップページを作りたいのですが商品が全く表示されません。
20
+
21
+ 原因と対処法を教えていただけますと、幸いです。
22
+
23
+ ### 発生している問題・エラーメッセージ
24
+
25
+ 実行エラーは出ないのですが、
26
+
27
+ ネットワークで開いてみると
28
+
29
+ 表またはビューが存在しません。
30
+
31
+ と表示されます。
32
+
33
+ ### オーダーアイテムリポジトリ
34
+
35
+ ```
36
+
37
+ public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
38
+
39
+ //注文票(オーダーアイテム)の商品を集計し、それをカウントする
40
+
41
+ @Query(value="select OrderItem(item) from OrderItem o group by o.item order by count(o.item) desc", nativeQuery=true)
42
+
43
+ public List<OrderItem> findItem();
44
+
45
+ ```
46
+
47
+ ### コントローラ
48
+
49
+ ```
50
+
51
+ @RequestMapping(path = "/")
52
+
53
+ public String menu( Model model, Pageable pageable) {
54
+
55
+ //売れ筋順で商品検索
56
+
57
+ List<OrderItem>orderItemList = orderItemRepository.findItem();
58
+
59
+ List<Item> items = new ArrayList<Item>();
60
+
61
+ //for文でカウント
62
+
63
+ for(int i=0; i< orderItemList.size(); i++) {
64
+
65
+ if (orderItemList.get(i).getItem().getDeleteFlag()==0)
66
+
67
+ items.add(orderItemList.get(i).getItem());
68
+
69
+ }
70
+
71
+ //ページ、ページ遷移処理
72
+
73
+ Page<Item> pages= Convert.listConvertToPage(items,pageable);
74
+
75
+ //ビューに商品情報を渡す処理
76
+
77
+ model.addAttribute("items",pages.getContent());
78
+
79
+ Page<Item>itemList = null;
80
+
81
+ //商品が空の場合は新着順検索
82
+
83
+ if(items.isEmpty()) {
84
+
85
+ itemList= itemRepository.findByDeleteFlagOrderByInsertDateDesc(Constant.NOT_DELETED,pageable);
86
+
87
+ // エンティティ内の検索結果をJavaBeansにコピー
88
+
89
+ List<ItemBean> itemBeanList =
90
+
91
+ BeanCopy.copyEntityToItemBean(itemList.getContent());
92
+
93
+ // 商品情報をViewへ渡す
94
+
95
+ model.addAttribute("items", itemBeanList);
96
+
97
+ model.addAttribute("flg", 1);
98
+
99
+ }
100
+
101
+ return "index";
102
+
103
+ ```
104
+
105
+ ###コンバーター
106
+
107
+ ```
108
+
109
+ public class Convert {
110
+
111
+ public static <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) {
112
+
113
+ int start = (int)pageable.getOffset();
114
+
115
+ int end= (start + pageable.getPageSize()) > list.size() ? list.size() : ( start + pageable.getPageSize());
116
+
117
+ return new PageImpl<T>(list.subList(start, end), pageable, list.size());
118
+
119
+ }}
120
+
121
+ ```
122
+
123
+ ### HTML
124
+
125
+ ```
126
+
127
+ <!DOCTYPE html>
128
+
129
+ <html xmlns:th="http://www.thymeleaf.org"
130
+
131
+ th:replace="~{common/layout_5block :: layout(~{::body/content()})}">
132
+
133
+ <head>
134
+
135
+ <title>トップ </title>
136
+
137
+ <meta charset="UTF-8" />
138
+
139
+ </head>
140
+
141
+ <body class="user index">
142
+
143
+ <!-- 売れ筋商品の場合表示 -->
144
+
145
+ <div th:if="${flg==1}">
146
+
147
+ <h2 class="title">売れ筋商品</h2>
148
+
149
+ </div>
150
+
151
+ <!-- 新着商品の場合表示 -->
152
+
153
+ <div th:if="${flg!=1}">
154
+
155
+ <h2 class="title">新着商品</h2>
156
+
157
+ </div>
158
+
159
+
160
+
161
+ <!-- 商品情報がない場合は無い旨を表示 -->
162
+
163
+ <div th:if="${#lists. isEmpty(items)}">
164
+
165
+ <p th:text="#{itemList.none}" />
166
+
167
+ </div>
168
+
169
+
170
+
171
+ <!-- 商品情報がある場合 -->
172
+
173
+ <!-- 情報の商品画像を表示、または無画像を表示 -->
174
+
175
+
176
+
177
+ <div th:if="!${#lists.isEmpty(items)}">
178
+
179
+
180
+
181
+ <div class="item" th:each="item: ${items}">
182
+
183
+ <span th:if="${item.image != null}">
184
+
185
+
186
+
187
+ <!-- 画像をクリックすることで商品画面に遷移 -->
188
+
189
+ <a th:href="@{/item/detail//{id}(id=${item.id})}">
190
+
191
+ <img th:src="@{/img/{image}(image=${item.image})}"></img></a>
192
+
193
+ </span>
194
+
195
+
196
+
197
+ <span th:if="${item.image == null}">
198
+
199
+ <img th:src="@{/img/common/no_image.jpg}"></img>
200
+
201
+ </span>
202
+
203
+ </div>
204
+
205
+ </div>
206
+
207
+ </body>
208
+
209
+ </html>
210
+
211
+ ```
212
+
213
+ ### 試したこと
214
+
215
+ ここに問題に対して試したことを記載してください。
216
+
217
+ ### 補足情報(FW/ツールのバージョンなど)
218
+
219
+ ここにより詳細な情報を記載してください。

3

2019/06/27 08:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,273 +1 @@
1
- ### 前提・実現したいこと
2
-
3
- springフレームワークを使ってアクセサリーショップのECサイトを作成ておりす。
1
+ 解決しました解決しました解決しました解決しました解決しました解決しました解決しました
4
-
5
- htmlの表示が思うように表示されず困っています。
6
-
7
- そのためコントローラやリポジトリが正しいのかも分かりません。
8
-
9
- プログラミング初心者です。
10
-
11
- ご教授ください。
12
-
13
-
14
-
15
- メインページの商品の一覧として、
16
-
17
-
18
-
19
- ・過去に注文履歴がない場合→新着順に商品が表示される
20
-
21
- ・過去に注文履歴がない(未ログインor会員登録はあるが注文履歴がない)場合→売筋順に商品が表示される
22
-
23
-
24
-
25
- トップページを作りたいのですが商品が全く表示されません。
26
-
27
- 原因と対処法を教えていただけますと、幸いです。
28
-
29
-
30
-
31
- ### 発生している問題・エラーメッセージ
32
-
33
- 実行エラーは出ないのですが、
34
-
35
- ネットワークで開いてみると
36
-
37
- 表またはビューが存在しません。
38
-
39
- と表示されます。
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
- ### オーダーアイテムリポジトリ
48
-
49
- ```
50
-
51
- public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
52
-
53
- //注文票(オーダーアイテム)の商品を集計し、それをカウントする
54
-
55
- @Query(value="select OrderItem(item) from OrderItem o group by o.item order by count(o.item) desc", nativeQuery=true)
56
-
57
- public List<OrderItem> findItem();
58
-
59
-
60
-
61
- ```
62
-
63
-
64
-
65
- ### コントローラ
66
-
67
- ```
68
-
69
- @RequestMapping(path = "/")
70
-
71
- public String menu( Model model, Pageable pageable) {
72
-
73
- //売れ筋順で商品検索
74
-
75
- List<OrderItem>orderItemList = orderItemRepository.findItem();
76
-
77
-
78
-
79
- List<Item> items = new ArrayList<Item>();
80
-
81
- //for文でカウント
82
-
83
- for(int i=0; i< orderItemList.size(); i++) {
84
-
85
- if (orderItemList.get(i).getItem().getDeleteFlag()==0)
86
-
87
- items.add(orderItemList.get(i).getItem());
88
-
89
- }
90
-
91
- //ページ、ページ遷移処理
92
-
93
- Page<Item> pages= Convert.listConvertToPage(items,pageable);
94
-
95
- //ビューに商品情報を渡す処理
96
-
97
- model.addAttribute("items",pages.getContent());
98
-
99
- Page<Item>itemList = null;
100
-
101
- //商品が空の場合は新着順検索
102
-
103
- if(items.isEmpty()) {
104
-
105
- itemList= itemRepository.findByDeleteFlagOrderByInsertDateDesc(Constant.NOT_DELETED,pageable);
106
-
107
- // エンティティ内の検索結果をJavaBeansにコピー
108
-
109
- List<ItemBean> itemBeanList =
110
-
111
- BeanCopy.copyEntityToItemBean(itemList.getContent());
112
-
113
- // 商品情報をViewへ渡す
114
-
115
- model.addAttribute("items", itemBeanList);
116
-
117
- model.addAttribute("flg", 1);
118
-
119
- }
120
-
121
- return "index";
122
-
123
-
124
-
125
- ```
126
-
127
-
128
-
129
-
130
-
131
- ###コンバーター
132
-
133
- ```
134
-
135
-
136
-
137
- public class Convert {
138
-
139
-
140
-
141
- public static <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) {
142
-
143
- int start = (int)pageable.getOffset();
144
-
145
- int end= (start + pageable.getPageSize()) > list.size() ? list.size() : ( start + pageable.getPageSize());
146
-
147
- return new PageImpl<T>(list.subList(start, end), pageable, list.size());
148
-
149
- }}
150
-
151
- ```
152
-
153
- ### HTML
154
-
155
-
156
-
157
- ```
158
-
159
-
160
-
161
-
162
-
163
- <!DOCTYPE html>
164
-
165
- <html xmlns:th="http://www.thymeleaf.org"
166
-
167
- th:replace="~{common/layout_5block :: layout(~{::body/content()})}">
168
-
169
- <head>
170
-
171
- <title>トップ </title>
172
-
173
- <meta charset="UTF-8" />
174
-
175
- </head>
176
-
177
- <body class="user index">
178
-
179
- <!-- 売れ筋商品の場合表示 -->
180
-
181
- <div th:if="${flg==1}">
182
-
183
- <h2 class="title">売れ筋商品</h2>
184
-
185
- </div>
186
-
187
-
188
-
189
- <!-- 新着商品の場合表示 -->
190
-
191
- <div th:if="${flg!=1}">
192
-
193
- <h2 class="title">新着商品</h2>
194
-
195
- </div>
196
-
197
-
198
-
199
- <!-- 商品情報がない場合は無い旨を表示 -->
200
-
201
- <div th:if="${#lists. isEmpty(items)}">
202
-
203
- <p th:text="#{itemList.none}" />
204
-
205
- </div>
206
-
207
-
208
-
209
- <!-- 商品情報がある場合 -->
210
-
211
- <!-- 情報の商品画像を表示、または無画像を表示 -->
212
-
213
-
214
-
215
- <div th:if="!${#lists.isEmpty(items)}">
216
-
217
-
218
-
219
- <div class="item" th:each="item: ${items}">
220
-
221
- <span th:if="${item.image != null}">
222
-
223
-
224
-
225
- <!-- 画像をクリックすることで商品画面に遷移 -->
226
-
227
- <a th:href="@{/item/detail//{id}(id=${item.id})}">
228
-
229
- <img th:src="@{/img/{image}(image=${item.image})}"></img></a>
230
-
231
- </span>
232
-
233
-
234
-
235
- <span th:if="${item.image == null}">
236
-
237
- <img th:src="@{/img/common/no_image.jpg}"></img>
238
-
239
- </span>
240
-
241
- </div>
242
-
243
- </div>
244
-
245
- </body>
246
-
247
- </html>
248
-
249
-
250
-
251
- ```
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
- ### 試したこと
262
-
263
-
264
-
265
- ここに問題に対して試したことを記載してください。
266
-
267
-
268
-
269
- ### 補足情報(FW/ツールのバージョンなど)
270
-
271
-
272
-
273
- ここにより詳細な情報を記載してください。

2

2019/06/23 09:52

投稿

sawai.mam
sawai.mam

スコア12

test CHANGED
File without changes
test CHANGED
@@ -30,9 +30,15 @@
30
30
 
31
31
  ### 発生している問題・エラーメッセージ
32
32
 
33
- エラーメッセージも出ないので困っていま
33
+ 実行エラー出ないのですが、
34
+
34
-
35
+ ネットワークで開いてみると
36
+
37
+ 表またはビューが存在しません。
38
+
35
- エラーメッセージ
39
+ と表示されます。
40
+
41
+
36
42
 
37
43
 
38
44
 

1

ミスがあったので修正しました

2019/06/21 00:51

投稿

sawai.mam
sawai.mam

スコア12

test CHANGED
File without changes
test CHANGED
@@ -34,13 +34,15 @@
34
34
 
35
35
  エラーメッセージ
36
36
 
37
- ```
37
+
38
38
 
39
39
 
40
40
 
41
41
  ### オーダーアイテムリポジトリ
42
42
 
43
+ ```
44
+
43
- ````public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
45
+ public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
44
46
 
45
47
  //注文票(オーダーアイテム)の商品を集計し、それをカウントする
46
48
 
@@ -56,60 +58,76 @@
56
58
 
57
59
  ### コントローラ
58
60
 
61
+ ```
62
+
59
63
  @RequestMapping(path = "/")
60
64
 
61
65
  public String menu( Model model, Pageable pageable) {
62
66
 
63
- //売れ筋順で商品検索
64
-
65
- List<OrderItem>orderItemList = orderItemRepository.findItem();
66
-
67
-
68
-
69
- List<Item> items = new ArrayList<Item>();
70
-
71
- //for文でカウント
72
-
73
- for(int i=0; i< orderItemList.size(); i++) {
74
-
75
- if (orderItemList.get(i).getItem().getDeleteFlag()==0)
76
-
77
- items.add(orderItemList.get(i).getItem());
78
-
79
- }
80
-
81
- //ページ、ページ遷移処理
82
-
83
- Page<Item> pages= Convert.listConvertToPage(items,pageable);
84
-
85
- //ビューに商品情報を渡す処理
86
-
87
- model.addAttribute("items",pages.getContent());
88
-
89
- Page<Item>itemList = null;
90
-
91
- //商品が空の場合は新着順検索
92
-
93
- if(items.isEmpty()) {
94
-
95
- itemList= itemRepository.findByDeleteFlagOrderByInsertDateDesc(Constant.NOT_DELETED,pageable);
96
-
97
- // エンティティ内の検索結果をJavaBeansにコピー
98
-
99
- List<ItemBean> itemBeanList = BeanCopy.copyEntityToItemBean(itemList.getContent());
100
-
101
- // 商品情報をViewへ渡す
102
-
103
- model.addAttribute("items", itemBeanList);
104
-
105
- model.addAttribute("flg", 1);
106
-
107
- }
108
-
109
- return "index";
67
+ //売れ筋順で商品検索
68
+
69
+ List<OrderItem>orderItemList = orderItemRepository.findItem();
70
+
71
+
72
+
73
+ List<Item> items = new ArrayList<Item>();
74
+
75
+ //for文でカウント
76
+
77
+ for(int i=0; i< orderItemList.size(); i++) {
78
+
79
+ if (orderItemList.get(i).getItem().getDeleteFlag()==0)
80
+
81
+ items.add(orderItemList.get(i).getItem());
82
+
83
+ }
84
+
85
+ //ページ、ページ遷移処理
86
+
87
+ Page<Item> pages= Convert.listConvertToPage(items,pageable);
88
+
89
+ //ビューに商品情報を渡す処理
90
+
91
+ model.addAttribute("items",pages.getContent());
92
+
93
+ Page<Item>itemList = null;
94
+
95
+ //商品が空の場合は新着順検索
96
+
97
+ if(items.isEmpty()) {
98
+
99
+ itemList= itemRepository.findByDeleteFlagOrderByInsertDateDesc(Constant.NOT_DELETED,pageable);
100
+
101
+ // エンティティ内の検索結果をJavaBeansにコピー
102
+
103
+ List<ItemBean> itemBeanList =
104
+
105
+ BeanCopy.copyEntityToItemBean(itemList.getContent());
106
+
107
+ // 商品情報をViewへ渡す
108
+
109
+ model.addAttribute("items", itemBeanList);
110
+
111
+ model.addAttribute("flg", 1);
112
+
113
+ }
114
+
115
+ return "index";
116
+
117
+
118
+
119
+ ```
120
+
121
+
122
+
123
+
110
124
 
111
125
  ###コンバーター
112
126
 
127
+ ```
128
+
129
+
130
+
113
131
  public class Convert {
114
132
 
115
133
 
@@ -122,13 +140,19 @@
122
140
 
123
141
  return new PageImpl<T>(list.subList(start, end), pageable, list.size());
124
142
 
125
- }
143
+ }}
126
-
127
-
128
-
144
+
129
- }
145
+ ```
130
-
146
+
131
- ###HTML
147
+ ### HTML
148
+
149
+
150
+
151
+ ```
152
+
153
+
154
+
155
+
132
156
 
133
157
  <!DOCTYPE html>
134
158
 
@@ -138,7 +162,7 @@
138
162
 
139
163
  <head>
140
164
 
141
- <title>トップ | シェアードショップ</title>
165
+ <title>トップ </title>
142
166
 
143
167
  <meta charset="UTF-8" />
144
168
 
@@ -216,9 +240,7 @@
216
240
 
217
241
  </html>
218
242
 
219
- ```
243
+
220
-
221
- コード
222
244
 
223
245
  ```
224
246