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}">
日付の編集はよく使うので、いずれの方法も覚えておきましょう