在自己的测试项目中视图使用的是 JSP,并加上了 Tiles 作为布局使用。然后在给 JSP 页面加上布局后请求该页面发现布局并没有起作用,只有光秃秃的原 JSP 页面内容。查找了一番发现原因为:需要调整 TilesViewResolver 和 InternalResourceViewResolver 的顺序。因为在自己的项目中配置这两个视图解析器的时候 InternalResourceViewResolver 的定义语句是在 TilesViewResolver 之前的,那么 SpringMVC 就会将 InternalResourceViewResolver 的顺序默认置于 TilesViewResolver 之前,所以此时请求带有 Tiles 布局的 JSP 页面时 InternalResourceViewResolver 就能够返回一个正确的 View 对象,因此 TilesViewResolver 不会介入工作,自然 Tiles 就不会起作用了。
以后在使用这两个视图解析器的时候要设置各自的 Order 属性来确定顺序,而且 TilesViewResolver 的顺序需要在 InternalResourceViewResolver 之前。
记录一下,作为经验储备。