博客
关于我
配置SpringMVC中的视图解析器
阅读量:485 次
发布时间:2019-03-07

本文共 1659 字,大约阅读时间需要 5 分钟。

视图解析器详解

在Spring MVC开发中,视图解析器是将逻辑视图转换为实际使用的视图文件(如HTML、XML等)的重要组件。本文将详细介绍两种常用的视图解析器:InternalResourceViewResolverFreeMarkerViewResolver,并展示它们的配置与使用方法。

一、InternalResourceViewResolver配置与使用

配置方法:

在Spring MVC的配置文件中(通常为application-servlet.xml),添加如下的Bean配置:

使用示例:

在控制器方法中,使用以下代码来设置视图名:

modelAndView.setViewName("/fruitsList");

特点说明:

  • 简化视图配置: 通过设置prefixsuffix,可以直接在控制器中调用视图名,无需显式定义前缀和后缀。
  • 缓存机制: InternalResourceViewResolver 继承自 AbstractCachingViewResolver,能够缓存已解析的视图,避免重复劳动。
  • 默认路径:,默认将视图文件存放在 /WEB-INF/jsp 目录下,这符合Spring MVC的标准部署方式。
  • 二、FreeMarkerViewResolver配置与使用

    配置方法:

    在Spring MVC的配置文件中添加如下Bean定义:

    使用示例:

    在控制器中设置模板视图名:

    modelAndView.setViewName("fruit");

    特点说明:

  • 模板驱动: FreeMarkerViewResolver 支持使用Freemarker模板,通过逻辑视图名(如ftl:Dashboard)加载对应的模板文件(如/WEB-INF/freemarker/Dashboard.ftl)。
  • 灵活性高: 模板文件可生成任何格式(如HTML、XML、Java源码等),适用于多种应用场景。
  • 配置详细: 需要配置模板路径和依赖库,使FreeMarker能够正确解析模板文件。
  • 模板文件路径示例

    需要在${project}/WEB-INF/freemarker目录下创建对应的模板文件。例如:

    /WEB-INF/freemarker/fm_fruit.ftl

    Maven依赖配置

    确保项目依赖了必要的FreeMarker库和Spring容器支持:

    org.springframework
    spring-context-support
    4.3.6.RELEASE
    org.freemarker
    freemarker
    2.3.28

    技术总结

  • InternalResourceViewResolver: 适用于传统的静态JSP视图配置,缓存机制有效。
  • FreeMarkerViewResolver: 适用于动态模板生成,适合需要灵活视图文件处理的场景。
  • 模板开发建议:
    • 保存模板文件在/WEB-INF/freemarker目录下。
    • 使用Freemarker模板定义数据协议,确保模板与后端模型兼容。
    • 可视根据需求选择模板引擎或其他生成工具,以提升开发效率。
  • 两种视图解析器各有特点,选择时需结合项目需求和开发习惯。FreeMarkerViewResolver的模板驱动功能使其适合需要灵活视图生成的场景,而InternalResourceViewResolver的配置简便性则适合传统JSP开发。

    转载地址:http://wvucz.baihongyu.com/

    你可能感兴趣的文章
    msf
    查看>>
    MSSQL数据库查询优化(一)
    查看>>
    MSSQL日期格式转换函数(使用CONVERT)
    查看>>
    MSTP多生成树协议(第二课)
    查看>>
    MSTP是什么?有哪些专有名词?
    查看>>
    Mstsc 远程桌面链接 And 网络映射
    查看>>
    Myeclipse常用快捷键
    查看>>
    MyEclipse用(JDBC)连接SQL出现的问题~
    查看>>
    myeclipse的新建severlet不见解决方法
    查看>>
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>