実現したいこと
spring bootにて「コントローラから渡された日付を取得して表示するように改修」を写真のような表記(2023/7/7の部分)で出力できるようにしたい。
発生している問題・分からないこと
設計書に書いてあるようにコントローラから渡された日付を取得して表示するように改修するため
RoomsController.Javaにて日付を取得し渡すコードをhtmlに渡して出力したが画像のように(2025-09-26の部分)なってしまう。
該当のソースコード
RoomsController.Java
1package com.example.app.room; 2 3import java.time.LocalDate; 4import java.util.List; 5 6import org.springframework.beans.factory.annotation.Autowired; 7import org.springframework.format.annotation.DateTimeFormat; 8import org.springframework.stereotype.Controller; 9import org.springframework.ui.Model; 10import org.springframework.web.bind.annotation.GetMapping; 11import org.springframework.web.bind.annotation.PathVariable; 12import org.springframework.web.bind.annotation.RequestMapping; 13import org.springframework.web.bind.annotation.RequestParam; 14 15import com.example.domain.model.ReservableRoom; 16import com.example.domain.service.room.RoomService; 17 18//roomsにアクセスされたときのコントローラ 19@Controller 20@RequestMapping("rooms") 21public class RoomsController { 22 23 @Autowired 24 RoomService roomService; 25 26 //当日日付での会議室一覧を取得する 27 @GetMapping() 28 String listRooms(Model model) { 29 30 LocalDate today = LocalDate.now(); 31 List<ReservableRoom> rooms = roomService.findReservableRooms(today); 32 model.addAttribute("date", today); 33 model.addAttribute("rooms", rooms); 34 35 return "room/listRooms"; 36 } 37 38 /* 39 * 当日以外の日付の予約可能会議室一覧を表示するためのハンドラメソッド 40 * view側から渡された日付をdateで受け取る 41 */ 42 @GetMapping(path = "{date}") 43 String listRooms( 44 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @PathVariable("date") 45 LocalDate date, Model model) { 46 47 List<ReservableRoom> rooms = roomService.findReservableRooms(date); 48 model.addAttribute("rooms", rooms); 49 50 return "room/listRooms"; 51 } 52 53 public String displayDate( 54 @RequestParam(name = "selectedDate", required = false) 55 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate selectedDate, 56 Model model) { 57 58 // 日付が指定されていない場合のデフォルト値を設定 59 if (selectedDate == null) { 60 selectedDate = LocalDate.now(); 61 } 62 63 // ビューに渡すデータをモデルに追加 64 model.addAttribute("displayDate", selectedDate); 65 66 return "room/listRooms"; 67 } 68 69 }
listRooms.html
1<!DOCTYPE html> 2<html xmlns:th="http//www.thymeleaf.org"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <link rel="stylesheet" href="/css/bootstrap.min.css"> 7<title>本日の会議室</title> 8</head> 9<body> 10<div class="text-center"> 11<h3>会議室</h3> 12 <div class="mb-3"> 13 <a th:href="@{'/rooms/' + ${date.minusDays(1)}}" class="link-primary">< 前日</a> 14 <span th:text="${date}"></span> 15 <a th:href="@{'/rooms/' + ${date.plusDays(1)}}" class="link-primary">翌日 ></a> 16 </div> 17 <div class="mb-3"> 18 <ul class="list-group"> 19 <li th:each="room: ${rooms}" class="list-group-item"> 20 <a th:href="@{'/reservations/' + ${date} + '/' + ${room.meetingRoom.roomId}}" 21 th:text="${room.meetingRoom.roomName}" class="list-group-item-action active" aria-current="true"></a> 22 </li> 23 </ul> 24 </div>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Googleにて調べて出力できるようになったのですが、上記の画像の通りになってしまいました。
補足
特になし

回答1件
あなたの回答
tips
プレビュー