freemarke 积累

本文介绍了Freemarker模板引擎中日期和时间格式的配置方法。一方面,可以通过配置文件全局设置日期、时间及数字等类型的默认显示样式;另一方面,也可以在模板内部针对具体变量进行格式化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

freemarker使用时间类型注意事项

 

 

1、在配置文件中约束

freemarker的显示样式可以在配置文件中配置

<!-- 配置freemarker模板路径 -->
	<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="templateLoaderPath" value="/WEB-INF"/>
		<property name="freemarkerVariables">
			<map>
				...
			</map>
		</property>
		<property name="freemarkerSettings">
			<props>
				<prop key="template_update_delay">0</prop>
				<prop key="defaultEncoding">UTF-8</prop>
				<!-- 在生产环境下更新模板的间隔要根据实际情况设置,这里为开发方便设置为5秒 -->  
      			<prop key="template_update_delay">5</prop>  
				<prop key="url_escaping_charset">UTF-8</prop>
				<prop key="locale">zh_CN</prop>
				<prop key="boolean_format">true,false</prop>
				<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
				<prop key="time_format">HH:mm:ss</prop>
				<prop key="number_format">0.######</prop>
				<prop key="whitespace_stripping">true</prop>
				<prop key="auto_import">/ftl/pony/index.ftl as p,/ftl/spring.ftl as s</prop>
			</props>
		</property>
	</bean>

 

 

 

2、配置文件中无约束

 

import java.util.Date;

 

 ${(foundDate?string("yyyy-MM-dd"))!} 
${dateVar?string("yyyy-MM-dd HH:mm:ss zzzz")}

在使用 FreeMarker 加载模板之前,你需要先进行些准备工作。首先,确保已经将 FreeMarker 引入你的项目中。你可以通过在 项目中添加以下依赖来实现: ```xml <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.31</version> </dependency> ``` 接下来,你需要创建一个 Configuration 对象来管理模板文件的加载和处理。你可以使用以下代码来完成配置: ```java import freemarker.template.Configuration; import freemarker.template.TemplateExceptionHandler; // 创建 Configuration 实例 Configuration cfg = new Configuration(Configuration.VERSION_2_3_31); // 设置模板文件的目录(可以是文件系统路径、类路径或 URL) cfg.setDirectoryForTemplateLoading(new File("/path/to/templates")); // 设置模板文件的编码方式 cfg.setDefaultEncoding("UTF-8"); // 设置异常处理器,用于在模板处理过程中处理异常情况 cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); ``` 在上述代码中,你需要将 `"/path/to/templates"` 替换为你实际的模板文件目录。 一旦你完成了配置,就可以使用 Configuration 对象来加载和处理模板文件了。以下是一个简单的例子: ```java import freemarker.template.Template; // 从 Configuration 对象中获取模板 Template template = cfg.getTemplate("my_template.ftl"); // 创建数据模型(可选) Map<String, Object> dataModel = new HashMap<>(); dataModel.put("name", "John Doe"); // 处理模板并输出结果 Writer out = new OutputStreamWriter(System.out); template.process(dataModel, out); out.flush(); ``` 在上述代码中,"my_template.ftl" 是模板文件的名称,你可以根据实际情况进行替换。`dataModel` 是一个可选的数据模型,用于向模板中传递数据。 这样,你就可以使用 FreeMarker 加载模板并处理它们了。希望对你有所帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值