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

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

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

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Spring Boot

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

Q&A

解決済

1回答

7603閲覧

【spring】クエリパラメータの値がnullになってしまうエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Spring Boot

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

0グッド

0クリップ

投稿2021/08/11 07:31

前提・実現したいこと

クエリパラメーターでDBの値を渡したい。
直前まではidの値は持っていることをデバッグモードで確認しました。
どうすればnullに変換されないようにできるのでしょうか?

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

Required URI template variable 'id' for method parameter type Long is present but converted to null (メソッドパラメータタイプLongに必要なURIテンプレート変数 'id'は存在しますが、nullに変換されます )

該当のソースコード

java

1package com.example.demo.controller; 2 3import org.springframework.beans.factory.annotation.Autowired; 4import org.springframework.context.annotation.Scope; 5import org.springframework.stereotype.Controller; 6import org.springframework.ui.Model; 7import org.springframework.validation.BindingResult; 8import org.springframework.validation.annotation.Validated; 9import org.springframework.web.bind.annotation.GetMapping; 10import org.springframework.web.bind.annotation.PathVariable; 11import org.springframework.web.bind.annotation.PostMapping; 12 13import com.example.demo.db.InputForm; 14import com.example.demo.repositry.CommentRepository; 15import com.example.demo.repositry.DatabaseRepository; 16 17@Scope("session") 18@Controller 19public class ForumController { 20 21 @Autowired 22 private DatabaseRepository repository; 23 24 @Autowired 25 private CommentRepository commentRepo; 26 27 @GetMapping("/") 28 public String getHome(InputForm inputForm,Model model) { 29 30 Iterable<InputForm> inputList = repository.findAll(); 31 32 33 model.addAttribute("inputList", inputList); 34 35 return "/home"; 36 } 37 38 @PostMapping("/createThread") 39 public String createThread(@Validated InputForm inputForm, BindingResult error, Model model) { 40 if (error.hasErrors()) { 41 Iterable<InputForm> inputList = repository.findAll(); 42 model.addAttribute("inputList", inputList); 43 return "/home"; 44 } 45 46 repository.saveAndFlush(inputForm); 47 48 return "/relay"; 49 } 50 51 //inputformから貰ったIDからcommentRepoのthreadIDと一致するコメントを表示する 52 @GetMapping("/{id}(id=*{id})")***この部分です*** 53 public String getThread(@PathVariable("id") Long id, InputForm inputForm) { 54 System.out.println("aa"); 55 return "/home"; 56 57 } 58}

html

1<!DOCTYPE html> 2<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> 3 4<head> 5 <link rel="stylesheet" th:href="@{/style.css}"> 6 <br> 7 <title>みかんふぉーらむ</title> 8 <h1 class=title>みかんふぉーらむ</h1> 9 <br> 10</head> 11 12<body> 13 14 <form method="post" th:action="@{/createThread}" th:object="${inputForm}"> 15 <input type="text" th:field="*{threadName}" class="threadForm" /> <span th:if="${#fields.hasErrors('threadName')}" th:errors="*{threadName}" 16 class="error"></span><br> 17 <input type="submit" value="すれっどをつくる" class="threadCreate" onclick="reset"/> 18 </form> 19 20</body> 21<br> 22<br> 23 24<body th:object="${inputList}"> 25<p class=threadList>すれっどいちらん</p> 26<div class="threadList"> 27<tbody th:if="${inputList.size()>=1}"> 28 <tr th:each="inputList:${inputList}" th:object="${inputList}"> 29 <a th:text="*{threadName}" class="scroll" th:href="@{'/{id}(id=*{id})'}"></a><br> ****この部分です***** 30 </tr> 31</tbody> 32</div> 33 34</body> 35 36</html>

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

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

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

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

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

guest

回答1

0

ベストアンサー

html

1th:href="@{'/{id}(id=*{id})'}" 2 34 5th:href="@{/{id}(id=*{id})}"

いらぬシングルコートがありました。

投稿2021/08/11 08:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問