SpringBoot入門


5.課題

5-1 掲示板の作成

③補足 作成日をDateにするか、Stringにするか

作成日のような日付の属性はDate型にするのが普通ですが、両方の場合のコーディングを考えてみましょう

1)Dateにした場合

・コントローラでそのまま日付を設定します。

/* 更新処理 */ @PostMapping("/create") @Transactional(readOnly=false) public ModelAndView save( @ModelAttribute("bbs") Bbs bbs { bbs.setCreateDate(new Date()); repos.saveAndFlush(bbs); return new ModelAndView("redirect:users/list"); }

・ビューでユーティリティで編集して表示します。

<tr> <th class="col_create_date">作成日</th> <th class="col_title">タイトル</th> <th class="col_create_user">作成者</th> <th></th> <th></th> <th></th> </tr> <tr th:each="obj : ${data}"> <td th:text="${#dates.format(obj.date, 'yyyy/MM/dd')}">

2)Stringにした場合

・コントローラでSimpleDateFormatで編集してDB更新します。

/* 更新処理 */ @PostMapping("/create") @Transactional(readOnly=false) public ModelAndView save( @ModelAttribute("bbs") Bbs bbs { Date date = new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd"); bbs.setCreateDate(sdf1.format(date)); repos.saveAndFlush(bbs); return new ModelAndView("redirect:users/list"); }

・ビューではそのまま表示します。

<tr> <th class="col_create_date">作成日</th> <th class="col_title">タイトル</th> <th class="col_create_user">作成者</th> <th></th> <th></th> <th></th> </tr> <tr th:each="obj : ${data}"> <td th:text="${obj.date}">

日付の編集はよく使うので、いずれの方法も覚えておきましょう