2011-06-03 24 views
5

INPUTテキストフィールドに日付値を入力して整形しようとしています。私はここで間違って何をしていますか?
JSTL書式タグ

<spring:bind path="salesData.weekEndDate"> 
<input type="text" name="${status.expression}" 
value="${fmt:formateDate pattern='MM/mm/YYYY' status.value}" 
/> 

答えて

13

JSTL fmt taglib<fmt:xxx>タグ、ない${fmt:xxx}関数で存在します。

は、それに応じて修正:

<input type="text" name="${status.expression}" 
    value="<fmt:formatDate pattern="MM/dd/yyyy" value="${status.value}" />" /> 
/> 

(日dd、ないmmとして表現されることと何年も有効なすべてのパターンについてSimpleDateFormat javadocを参照してください、YYYYyyyyとして表現されるものではないことに注意してください)

あなたのIDEがネストされたタグ(完全にはうまく動作するはずです)またはかゆみを感じる場合は、HTML/XMLが終了するようにvar属性を使用してくださいよく形成される。

<fmt:formatDate pattern="MM/dd/yyyy" value="${status.value}" var="statusDate" /> 
<input type="text" name="${status.expression}" value="${statusDate}" /> 

実際に${fmt:formatDate()}機能を使用したい場合は、自分でホームグラウンドを作成する必要があります。キックオフの例はthis answerです。


更新コメントごと結局のところ、${status.value}は、実際にフォーマットyyyy-MM-ddStringです。それを完全にDateに固定することはオプションではない場合は、<fmt:formatDate>に入力する前にの助けを借りて最初にDateに解析する必要があります。

<fmt:parseDate pattern="yyyy-MM-dd" value="${status.value}" var="parsedStatusDate" /> 
<fmt:formatDate pattern="MM/dd/yyyy" value="${parsedStatusDate}" var="formattedStatusDate" /> 
<input type="text" name="${status.expression}" value="${formattedStatusDate}" /> 
+0

こんにちはBalusC、このdidntの仕事値= "" – t0mcat

+0

何が代わりになりますか?あなたはJSPの上にtaglibを宣言しましたか? 'YYYY'を' yyyy'に修正しましたか?私は代わりの方法で答えを更新しました。 – BalusC

+0

fmt taglibが見つかりませんでした。それを修正し、実行しようとしました。ステータスコード500 例外タイプクラスjavax.servlet.jsp.el.E​​LException メッセージ文字列 "2002-04-15"を "java.util.Date"に変換しようとしましたが、PropertyEditorはありませんその型の 例外javax.servlet.jsp.el.E​​LException:文字列 "2002-04-15"を "java.util.Date"に変換しようとしましたが、その型のPropertyEditorはありません – t0mcat