FreeMarkerについて、デフォルトですべての数値を「コンピューター」の数値として扱うように指示することはできますか?
応募してみました
cfg.setSetting(Configurable.NUMBER_FORMAT_KEY, "computer");
また
cfg.setNumberFormat("computer");
構成オブジェクトに追加しましたが、結果は望ましいものではありません。これがドキュメントのやり方だと信じていますが、何か問題がありますか?
FreeMarkerについて、デフォルトですべての数値を「コンピューター」の数値として扱うように指示することはできますか?
応募してみました
cfg.setSetting(Configurable.NUMBER_FORMAT_KEY, "computer");
また
cfg.setNumberFormat("computer");
構成オブジェクトに追加しましたが、結果は望ましいものではありません。これがドキュメントのやり方だと信じていますが、何か問題がありますか?
java.text.DecimalFormat
指定する数値形式は、サポートされているものでなければなりません。あなたが今できる最も近いことは、ロケールを切り替えることですen_US
(そして、それが手探りを使用しないようにすることをお勧めします; http://freemarker.org/docs/app_faq.html#faq_number_groupingを参照してください)。または、もちろん?c
-s を全体に書くこともできますが、それはあなたが避けたかったことだと思います。
ドキュメントに基づいて、FreemarkerConfiguration
オブジェクトに設定することができます。
典型的な機能的なスプリング コンテキストの初期化:
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPaths">
<list>
<value>classpath:META-INF/templates</value>
</list>
</property>
<property name="freemarkerSettings">
<props>
<prop key="number_format">computer</prop>
</props>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="prefix" value="" />
<property name="suffix" value=".ftl" />
<property name="cache" value="true" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="requestContextAttribute" value="request" />
</bean>
number_format (または、新しいバージョンの freemarker の場合は numberFormat) が に設定されていることに注意してくださいFreeMarkerConfigurer
。
あなたの質問に...私の推測では、間違った構成オブジェクトまたはスコープに設定しています。