SpringMVC详述自定义视图执行过程

安稳与你 提交于 2020-02-28 01:34:35

前面的请求执行过程,详情见:https://blog.csdn.net/S_Tian/article/details/104365603

现在是在DispatcherServlet中的doDispatch方法中。

在这里插入图片描述
然后我们点击进入processDispatchResult方法,此处若有异常则进行异常处理(之后分析异常处理)
在这里插入图片描述
DispatcherServlet中的render方法中有一个view.render,如果我们自定义了一个视图继承自View类,那么我们的自定义视图类就要重写这个render方法,当执行自定义视图的时候就从view.render这里直接进入到我们的自定义视图类

由于我们这个自定义视图类没有直接实现View类,而是继承了AbstractXlsView类,所以就要进入 我们的自定义类 与 View抽象类相关的 最近的实现类(最先实现View类的类) 的render方法(即在AbstractView类、AbstractXlsView类、ExcelView类中,按我写的先后顺序,谁先实现了render方法就用谁的render方法)
在这里插入图片描述
(我们的InternalResourceView也实现了该renderMergedOutputModel方法,即在Spirng文件app.xml中配置了InternalResourceViewResolver之后,我们处理非自定义视图类都要进入InternalResourceView类的该方法 )
在这里插入图片描述
buildExcelDocument是生成表格的方法,也是我们自定义视图类要实现的功能,在这里我们重写它
在这里插入图片描述
我们的自定义视图是创建了一个Excel表格,并将其输出
在这里插入图片描述
执行完重写方法之后接着往下执行renderWorkbook方法
在这里插入图片描述
在该方法中响应

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!