前提・実現したいこと
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」です。
回答1件
あなたの回答
tips
プレビュー