springmvc+freemarker实现html视图备忘

首先,在pom里添加如下依赖
		<!-- spring整合第三方包需要,原文文档说明如下: -->
		<!--https://docs.spring.io/spring/docs/4.3.15.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#overview-core-container-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>5.0.5.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
			<version>2.3.28</version>
		</dependency>
在spring的xml配置中添加如下配置
<!-- 配置freeMarker视图解析器 -->
<bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
	<!-- 设置http response的Content-Type属性,一般如下配置即可 -->
	<property name="contentType" value="text/html;charset=UTF-8" />
	<!-- 设置模板后缀,作用为:如请求URL为http://www.a.com/a,则实际请求的模板文件名为a.html -->
	<property name="suffix" value=".html" />
</bean>
<!-- 配置freemarker的配置,spring会自动读取下面配置放到freeMarker视图解析器中 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
	<!-- 配置freemarker读取模板文件时的编码,该编码应与模板文件编码一致,否则可能出错 -->
	<property name="defaultEncoding" value="UTF-8" />
	<property name="freemarkerSettings">
		<props>
			<!-- 配置freemarker数字格式,不显示千分号 -->
			<prop key="number_format">#</prop>
		</props>
	</property>
	<!-- 配置freemarker共享变量,详情可参考freemarker文档http://freemarker.foofun.cn/pgui_config_sharedvariables.html -->
	<property name="freemarkerVariables">
		<map>
			<entry key="xml_escape">
				<bean class="freemarker.template.utility.XmlEscape" />
			</entry>
		</map>
	</property>
	<!-- 这里配置templateLoaderPaths属性,而不是templateLoaderPath属性,templateLoaderPaths属性可以配置多个模板路径,而templateLoaderPath只能配置一个模板路径 -->
	<property name="templateLoaderPaths">
		<list>
			<value>/WEB-INF/freemarker/</value>
			<!-- 可以配置多个模板路径,freemarker会在这些路径中自动根据上述suffix配置的模板文件后缀搜索模板文件 -->
			<!-- <value>/WEB-INF/freemarker2/</value> -->
		</list>
	</property>
</bean>
不要用mvc:resolvers/这种配置方法,配置项不全,中文乱码,截止目前5.1.2版本的spring尚无法解决,只能用上面bean的配置方法。

—原创不易,转帖请注明出处,shizhongqi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值