我用Tiles项目创建了Spring MVC。为什么我们不应该同时使用jspViewResolver和TilesViewResolver?
我的控制器返回一个字符串“hello”,这是一个逻辑文件名,我把jsp称为hello.jsp。
在tiles.xml中,我应该有一个名为hello的定义扩展定义模板。 我的基本定义被映射到layout.jsp。
当我添加jspViewResolver时,它将我带到hello.jsp,但是如果我将其注释掉,它将根据tile.xml中的hello定义呈现layout.jsp。
那么,为什么我们不应该同时使用jspViewResolver和tilesViewResolver?
两者都是UrlBasedViewResolver的实例,它简单地构造一个URL,而不管请求的视图是否存在。其他'ViewResolver'像'BeanNameViewResolver'不存在时不返回视图。在你的视图解析器链中有多个UrlBasedViewResolver会使最后一个永远不会调用。正如课程的文档中所解释的那样。 – 2014-09-22 05:41:00
如果您想将此作为答案,我可能选择此作为最佳答案。 :) – user3705478 2014-09-22 07:34:34
该评论实际上并不完全正确,给了一些更详细的解释。 – 2014-09-22 09:21:44