b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

jsp web项目 视图框架:Spring MVC 4.0(2),视图解析器

电脑杂谈  发布时间:2018-02-14 12:34:04  来源:网络整理

jsp项目案例_web项目转maven_jsp web项目

在《springMV(7)模型视图方法源码综合分析》一文中,我们介绍了ModelAndView的用法,它会在控制层方法调用完毕后作为返回值返回,里面封装好了我们的业务逻辑数据和视图对象或视图名

。下一步,视图对象往往会对模型进一步渲染,再由视图解析器进一步解析并向前端发出响应。在下面,我们详细介绍视图和视图解析器的各种分类。jsp web项目

在View接口中,定义了一个核心方法是:

void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception;

1

1

它的作用主要是渲染模型数据,整合web资源,并以特定形式响应给客户,这些形式可以是复杂JSP页面,也可以是简单的json、xml字符串。

针对不同的响应形式,spring为我们设计了不同的View实现类:

这里写图片描述

针对不同的视图对象,我们使用不同的视图解析器来完成实例化工作。我们可以在spring上下文配置多个视图解析器,并通过order属性来指定他们之间的解析优先级顺序,order 越小,对应的 ViewResolver 将有越高的解析视图的权利。当一个 ViewResolver 在进行视图解析后返回的 View 对象是 null 的话就表示该 ViewResolver 不能解析该视图,这时候就交给优先级更低的进行解析,直到解析工作完成,如果所有视图解析器都不能完成将解析,则会抛出异常。

类似于视图,Spring也为我们提供了众多的视图解析器实现类:

这里写图片描述

图 1.Spring MVC 处理流程

1.View接口

视图基础接口,它的各种实现类是无状态的,因此是线程安全的。 该接口定义了两个方法:

2.AbstractView抽象类

View接口的基础实现类。我们稍微介绍一下这个抽象类。

首先看下这个类的属性:

再看下抽象类中接口方法的实现:

getContentType方法直接返回contentType属性即可。

render方法:

3.AbstractUrlBasedView抽象类

继承自AbstractView抽象类,增加了1个类型为String的url参数。

4.InternalResourceView类

继承自AbstractUrlBasedView抽象类的类,表示JSP视图。

我们看下这个类的renderMergedOutputModel方法(AbstractView抽象类定义的抽象方法,为View接口提供的render方法服务)。

5.JstlView类

JSTL视图,继承自InternalResourceView,该类大致上与InternalResourceView类一致。

6.AbstractTemplateView抽象类

继承自AbstractUrlBasedView抽象类,重写了renderMergedOutputModel方法,在该方法中会调用renderMergedTemplateModel方法,renderMergedTemplateModel方法为新定义的抽象方法。

jsp web项目_web项目转maven_jsp项目案例

该抽象类有几个boolean属性exposeSessionAttributes,exposeRequestAttributes。 设置为true的话会将request和session中的键值和值丢入到renderMergedTemplateModel方法中的model这个Map参数中。

这个类是某些模板引擎视图类的父类。 比如FreemarkerView,VelocityView。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-77343-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...