springmvc配置html视图

平时做Javaweb的开发,多是用jsp做页面。但随着MVVM前端框架的逐渐流行和前后端分离的开发方式的愈发规范,jsp显得臃肿起来,故尝试将jsp替换为对前端兼容更好的H5

项目路径:

 

在maven中,先添加freemarker的依赖:

 

<dependencies>

         // ..省略其他配置

<!--html视图解析器freemarker-->
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.22</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>

</dependencies>

 

 

applicationContext.xml添加bean:

<!-- 这里配置的是html视图解析器freemarker-->
<bean id="freemarkerConfig"
      class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/views/" />
    <property name="freemarkerSettings">
        <props>
            <prop key="template_update_delay">0</prop>
            <prop key="default_encoding">UTF-8</prop>
            <prop key="number_format">0.##########</prop>
            <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
            <prop key="classic_compatible">true</prop>
            <prop key="template_exception_handler">ignore</prop>
        </props>
    </property>
</bean>

 

 

spring-mvc.xml添加bean:

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="exposeRequestAttributes" value="true" />
    <property name="exposeSessionAttributes" value="true" />
    <property name="viewClass">
        <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value>
    </property>
    <property name="cache"><value>true</value></property>
    <!--这里需要注意一下,我注释了下面这样一行代码,这行代码的意思就是指引freemarker需要解析的文件的位置。注释掉原因是因为
     applicationContext.xml里有这样一行代码:<property name="templateLoaderPath" value="/WEB-INF/views/" /> 已经指定了视图位置。如果我们这里依然保留下方代码,页面回报406的找不到的错误 -->
    <!--<property name="prefix"><value>/WEB-INF/views/</value></property>-->
    <property name="suffix"><value>.html</value></property>
    <property name="contentType">
        <value>text/html; charset=UTF-8</value>
    </property>
</bean>

 

 这样,只要将对应名字的xxx.jsp文件改成xxx.html就可以实现映射了。

posted on 2017-11-23 12:07  R喵  阅读(590)  评论(0编辑  收藏  举报

导航