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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Java

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

Spring

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

2081閲覧

Springで検索機能を作成したい

TaSa

総合スコア1

Java

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

Spring

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/05/22 02:29

前提・実現したいこと

SpringBootでwebアプリケーションを開発しています。
検索機能を実装したいのですが、うまく実装ができません。
検索画面から検索を行うとNullPointerExceptionが発生します。
値をうまく持ってこれていないのだと思いますが、原因がわかりません。

問題の箇所がわかる方がいらっしゃいましたら、ご教授いただきたいです。

該当のソースコード

Service

1package com.example.demo.domain.service; 2 3import java.util.List; 4 5import org.springframework.beans.factory.annotation.Autowired; 6import org.springframework.stereotype.Service; 7 8import com.example.demo.domain.model.Product; 9import com.example.demo.domain.repository.ProductDao; 10 11@Service 12public class ProductService { 13 14 @Autowired 15 ProductDao dao; 16 17(中略) 18 19 public List<Product> search(String productCode, String productName, int price) { 20 List<Product> result = dao.findAll(); 21 return result; 22 } 23} 24

model

1package com.example.demo.domain.model; 2 3import lombok.Data; 4 5@Data 6public class Product { 7 8 private String productCode; //商品コード 9 private String productName; //商品名 10 private int price; //値段 11} 12

Dao

1package com.example.demo.domain.repository; 2 3import java.util.List; 4 5import org.springframework.dao.DataAccessException; 6 7import com.example.demo.domain.model.Product; 8 9public interface ProductDao { 10 11(中略) 12public List<Product> findAll() throws DataAccessException;; 13 14} 15 16

jdbc

1package com.example.demo.domain.jdbc; 2 3import java.util.ArrayList; 4import java.util.List; 5import java.util.Map; 6 7import org.springframework.beans.factory.annotation.Autowired; 8import org.springframework.dao.DataAccessException; 9import org.springframework.jdbc.core.JdbcTemplate; 10import org.springframework.stereotype.Repository; 11 12import com.example.demo.domain.model.Product; 13import com.example.demo.domain.repository.ProductDao; 14 15@Repository 16public class ProductDaoJdbcImpl implements ProductDao { 17 18 @Autowired 19 JdbcTemplate jdbc; 20(中略) 21 @Override 22 public List<Product> findAll() throws DataAccessException { 23 return null; 24 } 25} 26 27

HTML

1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html xmlns:th="http://www.thymeleaf.org" 3 xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> 4<head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> 6</head> 7 <body> 8<div th:fragment="search_contents"> 9 <div class="page-header"> 10 <h1>商品検索画面</h1> 11 </div> 12 <form method="post" action="/search"> 13 <table> 14 <tr><td>商品コード : <input type="text" class="form-control" id="productCode" name="productCode" th:value="${productCode}"/></td></tr> 15 <tr><td>商品名 : <input type="text" class="form-control" id="productName" name="productName" th:value="${productName}"/></td></tr> 16 <tr><td>値段 : <input type="text" class="form-control" id="price" name="price" th:value="${price}"/></td></tr> 17 <tr><td><input type="submit" value="検索"/></td></tr> 18 </table> 19 </form> 20 <div th:if="${resultSize > 0}"><label th:text="${resultSize}"></label>件</div> 21 <table border="1" th:if="${resultSize > 0}"> 22 <tr> 23 <td>商品ID</td> 24 <td>商品名</td> 25 <td>価格</td> 26 </tr> 27 <tr th:each="data : ${result}"> 28 <td th:text="${data.productCode}"/> 29 <td th:text="${data.productName}"/> 30 <td th:text="${data.price}"/> 31 </tr> 32 </table> 33 </div> 34 </body> 35</html>

補足情報

使用しているデータベースは「H2」です。

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

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

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

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

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

YT0014

2020/05/22 03:00

jdbcのfindAll()で return null; しているので、当然ではないでしょうか?
TaSa

2020/05/22 03:31

>YT0014さん ありがとうございます! ここって何をreturnすればよろしいでしょうか。。
momon-ga

2020/05/22 04:45

List<Product> をreturnすればいいですよ。
guest

回答1

0

自己解決

List<Product> をreturn

投稿2020/05/26 07:35

TaSa

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問