关于FreeMarker,是否有可能指示它默认将所有数字视为“计算机”?
我试图申请
cfg.setSetting(Configurable.NUMBER_FORMAT_KEY, "computer");
或
cfg.setNumberFormat("computer");
配置对象,但结果不是理想的。相信这是文档的方法,有什么不对吗?
答案 0 :(得分:2)
您指定的数字格式必须是java.text.DecimalFormat
支持的内容。您现在可以做的最接近的事情是将语言环境切换为en_US
(并且更好地确保它不使用groping;请参阅http://freemarker.org/docs/app_faq.html#faq_number_grouping)。或者,当然,你可以写?c
- s,但我认为这是你想要避免的。
答案 1 :(得分:1)
尝试:
cfg.setNumberFormat("#");
对我有用
答案 2 :(得分:0)
基于docs,可以在Freemarker int rc = 1;
do
{
sum_a = 0;
for(i=0 ; i<N ;i++){
rc = fscanf(infiles[i], "%d\n", &a);
if(rc == 1){
sum_a += a;
printf("%d\n", sum_a);
}
}
}while(rc == 1);
for(i=0 ; i<N ;i++)
fclose(infiles[i]);
对象上设置它。
典型的功能弹簧上下文初始化:
Configuration
请注意,number_format(或更新版本的freemarker的numberFormat)设置为<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>
。
对你的问题......我的猜测是你把它设置为错误的配置对象或范围。
答案 3 :(得分:0)
它在最新版本中可用,我可以在我的Spring启动应用程序中完成
freeMarkerConfigurer.getConfiguration().setNumberFormat("computer");