springmvc配置html与freemarker

1. 大家多说html中无法嵌套freemarker,但是自从使用过jfinal框架之后发现可以的。
   因为freemarker的后缀(.ftl)是可以修改的,这里我一般改成.html方便开发。

  
    <!-- freemarker config -->
	<bean id="freemarkerConfiguration"
		class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="location" value="classpath:config/freemarker.properties" />
	</bean>

	<!-- 配置freeMarker的模板路径 -->
	<bean id="freemarkerConfig"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="freemarkerSettings" ref="freemarkerConfiguration" />
		<property name="templateLoaderPath" value="/html/"/>
	</bean>

	<!-- freemarker视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<property name="cache" value="true" /> 
		<property name="suffix" value=".html" />
                <!--只是这里后缀改成.html --> 
              
		<property name="viewClass"
			value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
		<property name="exposeSpringMacroHelpers" value="true" />
		<property name="exposeRequestAttributes" value="true" />
		<property name="exposeSessionAttributes" value="true" />
		<property name="requestContextAttribute" value="rc" />
		<property name="contentType" value="text/html;charset=UTF-8" />
	</bean>
   

 
  
      <property name="suffix" value=".html" />只要这里修改就行

   



2. 还有一个问题就是controller之后很多人说找不到html页面 改成jsp却可以。
   那是因为配置freemarker之后,freemarker有一个模板路径
   <property name="templateLoaderPath" value="/html/"/>你的html路径必须在这里设置
   而不是下面的viewResolver中,viewResolver中设置prefix是无效的。

你可能感兴趣的:(html,freemarker,springMVC)