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

前面的请求执行过程,详情见: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方法
在这里插入图片描述
在该方法中响应

在这里插入图片描述

发布了101 篇原创文章 · 获赞 3 · 访问量 2230

猜你喜欢

转载自blog.csdn.net/S_Tian/article/details/104535754
今日推荐