質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

2回答

2612閲覧

なぜhtmlに反映されないのか分かりません。

sawai.mam

総合スコア12

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2019/06/21 00:25

編集2019/06/27 08:33

前提・実現したいこと

springフレームワークを使ってアクセサリーショップのECサイトを作成しております。
htmlの表示が思うように表示されず困っています。
そのためコントローラやリポジトリが正しいのかも分かりません。
プログラミング初心者です。
ご教授ください。
メインページの商品の一覧として、
・過去に注文履歴がない場合→新着順に商品が表示される
・過去に注文履歴がない(未ログインor会員登録はあるが注文履歴がない)場合→売筋順に商品が表示される
トップページを作りたいのですが商品が全く表示されません。
原因と対処法を教えていただけますと、幸いです。

発生している問題・エラーメッセージ

実行エラーは出ないのですが、
ネットワークで開いてみると
表またはビューが存在しません。
と表示されます。

オーダーアイテムリポジトリ

public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> { //注文票(オーダーアイテム)の商品を集計し、それをカウントする @Query(value="select OrderItem(item) from OrderItem o group by o.item order by count(o.item) desc", nativeQuery=true) public List<OrderItem> findItem();

コントローラ

@RequestMapping(path = "/") public String menu( Model model, Pageable pageable) { //売れ筋順で商品検索 List<OrderItem>orderItemList = orderItemRepository.findItem(); List<Item> items = new ArrayList<Item>(); //for文でカウント for(int i=0; i< orderItemList.size(); i++) { if (orderItemList.get(i).getItem().getDeleteFlag()==0) items.add(orderItemList.get(i).getItem()); } //ページ、ページ遷移処理 Page<Item> pages= Convert.listConvertToPage(items,pageable); //ビューに商品情報を渡す処理 model.addAttribute("items",pages.getContent()); Page<Item>itemList = null; //商品が空の場合は新着順検索 if(items.isEmpty()) { itemList= itemRepository.findByDeleteFlagOrderByInsertDateDesc(Constant.NOT_DELETED,pageable); // エンティティ内の検索結果をJavaBeansにコピー List<ItemBean> itemBeanList = BeanCopy.copyEntityToItemBean(itemList.getContent()); // 商品情報をViewへ渡す model.addAttribute("items", itemBeanList); model.addAttribute("flg", 1); } return "index";

###コンバーター

public class Convert { public static <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) { int start = (int)pageable.getOffset(); int end= (start + pageable.getPageSize()) > list.size() ? list.size() : ( start + pageable.getPageSize()); return new PageImpl<T>(list.subList(start, end), pageable, list.size()); }}

HTML

<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" th:replace="~{common/layout_5block :: layout(~{::body/content()})}"> <head> <title>トップ </title> <meta charset="UTF-8" /> </head> <body class="user index"> <!-- 売れ筋商品の場合表示 --> <div th:if="${flg==1}"> <h2 class="title">売れ筋商品</h2> </div> <!-- 新着商品の場合表示 --> <div th:if="${flg!=1}"> <h2 class="title">新着商品</h2> </div> <!-- 商品情報がない場合は無い旨を表示 --> <div th:if="${#lists. isEmpty(items)}"> <p th:text="#{itemList.none}" /> </div> <!-- 商品情報がある場合 --> <!-- 情報の商品画像を表示、または無画像を表示 --> <div th:if="!${#lists.isEmpty(items)}"> <div class="item" th:each="item: ${items}"> <span th:if="${item.image != null}"> <!-- 画像をクリックすることで商品画面に遷移 --> <a th:href="@{/item/detail//{id}(id=${item.id})}"> <img th:src="@{/img/{image}(image=${item.image})}"></img></a> </span> <span th:if="${item.image == null}"> <img th:src="@{/img/common/no_image.jpg}"></img> </span> </div> </div> </body> </html>

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/06/21 00:55

インデントこわれてるからコードに関してはいわないどくが、 デバッグで動かすなりログを吐き出すなりデータが存在するか確認しましょう
sawai.mam

2019/06/21 01:00

携帯からの投稿ですので、インデントが壊れてしまっています。 見づらいコードで申し訳ないです。 確認してみます。
miyabi_takatsuk

2019/06/21 01:13

でしたら、PC環境で閲覧可能な時に、質問文編集して、インデント整理された方がといいと思いますよ〜
sawai.mam

2019/06/21 01:15

コメントありがとうございます。 pc環境整い次第、整理します。
sawai.mam

2019/06/23 09:54

解決しました解決しました
guest

回答2

0

自己解決

解決しました解決しました

投稿2019/06/23 09:53

sawai.mam

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

解決しました解決しました解決しました

投稿2019/06/23 09:52

sawai.mam

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問