JSTLのfmtが無視される場合

JSP内で以下のようにJSTLのfmt要素でフォーマットを指定しても、無視されてしまうことがあります。

<fmt:formatNumber value="${price}" type="CURRENCY"
     groupingUsed="true" />

<fmt:formatDate value="${today}" type="DATE"
     dateStyle="LONG" />

これはロケール設定が行われていないことが原因みたいです。


JSP内(head要素内またはbody要素内の先頭あたり)に以下を追記することで解決できます。

<%-- ロケール情報を設定 --%>
<fmt:setLocale value="ja-JP" />