zoukankan      html  css  js  c++  java
  • springMVC初探视图解析器——InternalResourceViewResolver

    转自:https://blog.csdn.net/mawming/article/details/52128472

    springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器。

    springmvc里提供了多个视图解析器,InternalResourceViewResolver就是其中之一:

    最常用的视图解析器:InternalResourceViewResolver

    image

     

    当处理器返回“index”时,InternalResourceViewResolver解析器会自动添加前缀和后缀:/WEB-INF/jsp/index.jsp

    注意:这里的order表示视图解析的优先级,数目越小优先级越大(即:0为优先级最高,所以优先进行处理视图),

    InternalResourceViewResolver在项目中的优先级必须设置为最低,也就是order要最大。不然它会阻碍其他

    视图解析器。为什么呢?

    解释如下:

    我们知道,当处理器返回逻辑视图时(也就是return “string”),要经过视图解析器链,前面的解析器能处理的,就不会继续往下传播。

    如果不能处理就要沿着解析器链继续寻找,直到找到合适的视图解析器(概括为:能解析的,不继续往下找,不能解析的,要继续往下找解析器)。

    看下面的图:

    假如我们有几个视图解析器:视图解析器1、视图解析器2、视图解析器3。如图

    image

     

    当处理器(@controller)返回的逻辑视图解析过程:

    当经过视图解析器1时,如果能解析就解析而且不会再继续往下。如果不能执行就返回null,这样下面的解析器才能处理。

    但是对于解析器InternalResourceViewResolver来说,不管能不能解析它都不会返回null,也就是说它拦截了所有的逻辑视图,

    让后续的解析器得不到执行,所以InternalResourceViewResolver必须放在最后。

    记住一点:不能解析就返回null,这样后续解析器才能解析。

  • 相关阅读:
    分享25个高质量的移动设备wordpress主题(Mobile theme)
    一个强大专业的响应式jQuery幻灯效果插件:Royal Slider
    超过30个超棒的漂亮iphone 4s墙纸
    帮助你自动生成已经过去的时间的jQuery插件 Smart Time Ago
    分享20个响应式web设计的必备jQuery插件
    2012年度最新免费web开发设计资源荟萃
    myEclipse 下载
    extjs 配置与表格使用
    mysql 4.0.26 安装流程
    spring+ehcache 实现原理
  • 原文地址:https://www.cnblogs.com/sharpest/p/7707546.html
Copyright © 2011-2022 走看看