Springmvc视图解析器InternalResourceViewResolver问题分析
2017-04-21 01:28
756 查看
SpringMVC视图解析器InternalResourceViewResolver问题分析
今天在搭建SpringMVC开发框架的时候,出现freemarker的视图没有找到,报404错误。我的配置代码如下:InternalResourceViewResolver的父类UrlBasedViewResolver中有一个方法loadView用于创建加载视图,源码如下:
我们看到InternalResourceViewResolver对应的view是InternalResourceView,它的子类只有JstlView,下面是view的类图关系。
查看InternalResourceView的父类AbstractUrlBasedView,可以找到它里面的checkResource方法,源码如下:
至此我们就找到问题的原因了,InternalResourceView是不会check资源文件是否存在,当InternalResourceViewResolver先运行的时候,遇到其他的view-name如本例的freemarker的文件根本不会做check,导致最终出现404的情况。
如何解决这个问题呢?
第一种方法:把order的值修改下,把InternalResourceViewResolver的order改成最大的,即最后解析让其他的会check文件是否存在的解析器先运行。
第二种方法:自定义一个view类继承JstlView,自己写一个checkResource将父类的的checkResource override掉。代码如下:
相关文章推荐
- SpringMVC视图解析器InternalResourceViewResolver
- SpringMVC 视图解析器InternalResourceViewResolver(真实路径和逻辑路径)
- springMVC初探视图解析器——InternalResourceViewResolver(内部资源视图解析器)
- springMVC初探视图解析器——InternalResourceViewResolver
- 关于springsecurity 的视图解析器(InternalResourceViewResolver)的三种配置方式
- 【SpringMVC】视图解析器InternalResourceViewResolve(四)
- springmvc中如何正确的解析视图InternalResourceViewResolver
- 视图解析器InternalResourceViewResolver
- springMVC源码分析--视图AbstractView和InternalResourceView(二)
- springMVC源码分析--视图AbstractView和InternalResourceView(二)
- 视图解析器InternalResourceViewResolver在什么情况下需要配置?在什么情况下不需要配置?
- Spring MVC 之 视图解析器ResourceBundleViewResolver InternalResourceViewResolver
- Spring MVC-视图解析器(View Resolverr)-内部资源视图解析器(Internal Resource View Resolver)示例(转载实践)
- 视图解析器InternalResourceViewResolver的使用 (3)
- org.springframework.web.servlet.view.InternalResourceViewResolver 内存泄露问题
- SpringMVC视图解析器ViewResovlet问题
- Spring的视图解析UrlBasedViewResolver与InternalResourceViewResolver比较
- springMVC源码解析--ViewResolver视图解析器执行(三)
- Spring mvc 视图解析器 ContentNegotiatingViewResolver 源码分析
- SpringMVC介绍之视图解析器ViewResolver