• SpringMvc:视图和视图解析器


          请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View或ModelMap等类型的处理方法,SpringMvc也会在内部将它们装配成一个ModelAndView对象的,它包含了逻辑名和模型对象的视图。

          SpringMvc借助视图解析器(ViewResolver)得到最终的视图对象(View),最终的视图可能是JSP,也可能是Excel等各种表现形式的视图。对于最终采取何种视图对象对模型数据进行渲染,处理器并不关心,处理器的工作重点聚焦在生产模型数据的工作上,从而实现MVC的充分解耦。

          视图(View)的作用是渲染模型数据,将模型数据里的数据以某种形式呈现给客户,视图对象由视图解析器负责实例化,由于视图是无状态的,所以它们不会有线程安全的问题。

          SpringMvc为逻辑视图名的解析提供了不同的策略,可以在Spring WEB上下文中配置一种或多种解析策略,并指定它们的先后顺序,每一种映射策略对应一个具体的视图解析器实现类。视图解析器的作用比较单一:将逻辑视图解析为一个具体的视图对象。所有的视图解析器都必须实现ViewResolver接口。每个视图解析器都实现了Ordered接口并开放出一个order属性,可以通过order属性指定解析器的优先顺序,order越小,优先级越高,SpringMvc会按视图解析器顺序对逻辑视图名进行解析,直到解析成功并返回视图对象,否则将抛出ServletException异常。

         若想直接响应SpringMvc渲染的页面,可以使用mvc:view-controller

    <mvc:view-controller path="springMvc/test" view-name="hujingwei">
    

      所以当访问路径"springMvc/test"时,会直接跳转到hujingwei.jsp这个页面。

     /*
        * 关于重定向
        * 一般情况下,控制器的方法返回字符串类型的值会被当成逻辑视图名处理,
        * 如果返回的字符串中带forward:或redirect:前缀的时候,SpringMvc会对它们进行特殊的处理,其后的字符串会被作为URL来处理
        * */
    

      

  • 相关阅读:
    android 监听ListView中的 item 和button
    android 获取当前系统及应用信息(二)
    MotionEvent中getX()和getRawX()的区别
    HITS 算法(Hypertext Induced Topic Selection)
    放之四海皆适用的设计原则(二)
    源自神话的写作要义之英雄之旅
    这就是搜索引擎:核心技术详解
    源自神话的写作要义之英雄
    使用Spinner和setDropDownViewResource
    友好界面menu
  • 原文地址:https://www.cnblogs.com/hujingwei/p/5347543.html
Copyright © 2020-2023  润新知