博客
关于我
配置SpringMVC中的视图解析器
阅读量:486 次
发布时间: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/

    你可能感兴趣的文章
    POSIX thread编程中关于临界区内条件变量的分析
    查看>>
    POSIX与程序可移植性
    查看>>
    posix多线程有感--自旋锁
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    POSIX标准和XSI扩展
    查看>>
    post install error,please remove node_moules before retry
    查看>>
    postcss-pxtorem 参数之selectorBlackList、exclude的用法
    查看>>
    Postek博思得标签打印机更换电脑,打印出来标签空白
    查看>>
    postfix+ dovecot搭建邮件服务器
    查看>>
    postfix在邮件服务器中的使用
    查看>>
    PostGIS 3.1.2软件安装详细教程(地图工具篇.8)
    查看>>
    PostGIS中获取所有EPSG的编码以及对应Proj4字符串
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    PostGIS在Windows上的下载与安装
    查看>>
    Qt开发——网络编程之UDP客户端
    查看>>
    postgis数据库优化_postgresql 性能优化
    查看>>
    postgis求面积、交集等相关函数
    查看>>
    postgis相关函数
    查看>>
    Postgres Docker版本安装mysql_fdw 插件
    查看>>
    Postgres invalid command \N数据恢复处理
    查看>>