2017-02-21 67 views
0

私は、日付を送信するとThymeleafの日付形式に問題があります。 HTMLが正しくH3タグ内ではなく、日付ピッカーのコード内の日付を示しており、それが一つに時間と日付を示し、なぜ私はなぜ....Thymeleafの日付形式の値を表示するには?

<div> 
 
<label for="birthdate" th:text="#{editprofile.about4.birthdate}">Birth date</label> 
 
<label class="input"> 
 
<i class="icon-append fa fa-calendar"></i> 
 
<input type="date" name="date" id="birthdate" class="form-control margin-bottom-20" th:value="${#dates.format(profile2about2th.birthdate,'yyyy/MM/dd')}" th:field="*{birthdate}"> 
 
</input> 
 
</label> 
 
<h3 th:text="${#dates.format(profile2about2th.birthdate,'yyyy/MM/dd')}"></h3> 
 
</div>

を理解することはできません入力タイプ= "日付" name = "生年月日" id = "生年月日" class = "フォームコントロールmargin-bottom-20" value = "1932-10-10 00 :00:00.0 "

enter image description here

ありがとう

答えて

0

th:fieldth:valueを同じタグに使用しないでください。 (th:fieldは、name,idおよびvalueのタグの属性を設定します)。th:fieldをオフにした場合に正しい書式が得られるが、フォームが正しく送信されないことがわかります。

@Controller 
public class WhateverController { 
    . 
    . 
    . 

    @InitBinder 
    public void initBinder (WebDataBinder binder) { 
     binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy/MM/dd"), true)); 
    } 

    . 
    . 
    . 
} 

目を削除します:値をこのように、あなたのコントローラにInitBinderメソッドを追加

:私の意見では、この問題を解決する方法はにあります。あなたのHTMLは次のようになります。

<div> 
    <label for="birthdate" th:text="#{editprofile.about4.birthdate}">Birth date</label> 
    <label class="input"> 
     <i class="icon-append fa fa-calendar"></i> 
     <input type="date" name="date" id="birthdate" class="form-control margin-bottom-20" th:field="*{birthdate}" /> 
    </label> 

    <h3 th:text="${#dates.format(profile2about2th.birthdate,'yyyy/MM/dd')}"></h3> 
</div> 

あなたは、これはあなたのアプリケーション全体だけではなく、その1つのコントローラのために仕事をしたい場合は、同様にグローバルなバインダーを追加する方法があります。

+0

こんにちは、ありがとうたくさんのメトロイド。純粋なティメレフの解決法はありますか?コントローラーでそれをやっていないのですか? (だから私はフォーラムでも尋ねた)。 – Mike

+0

'th:field =" * {birthdate} "'を使いたい場合(POSTされた値をjava Dateに変換した後)、コントローラでそれを行う必要があります。 – Metroids

関連する問題