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

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

视图解析器详解

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

一、InternalResourceViewResolver配置与使用

配置方法:

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

使用示例:

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

modelAndView.setViewName("/fruitsList");

特点说明:

  • 简化视图配置: 通过设置prefix和suffix,可以直接在控制器中调用视图名,无需显式定义前缀和后缀。
  • 缓存机制: 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/

    你可能感兴趣的文章
    Python 学习笔记(一)Data type
    查看>>
    python 安装echarts
    查看>>
    python 安装opencv及问题解决
    查看>>
    Python 安装程序:“写入文件 C:\Python27\pythonw.exe 时出错“
    查看>>
    Python 安装避坑指南:从入门到进阶
    查看>>
    Python 安装配置详解
    查看>>
    python 实现儿童算术游戏
    查看>>
    python 实现字符串转整型
    查看>>
    Python 实现定时任务的八种方案!
    查看>>
    Python 实现自动化测试 dubbo 协议接口
    查看>>
    python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
    查看>>
    Python 对mysql数据库的操作
    查看>>
    Python 对象数据库列表
    查看>>
    Python 导入requests报错No module named requests
    查看>>
    python 将函数加到列表中进行调用
    查看>>
    python 将图片与字符串相互转换
    查看>>
    Python 嵌套字典全面指南
    查看>>
    Python 常见的错误类型和继承关系
    查看>>
    python 常量_零基础学Python系列之一:Python的变量与常量
    查看>>
    Python 并发编程
    查看>>