Я создал Spring MVC с проектом Tiles.Почему мы не должны использовать оба jspViewResolver и TilesViewResolver вместе?
Мой контроллер возвращает строку «hello», которая является логическим именем файла, и у меня есть jsp, называемый hello.jsp.
В файле tiles.xml У меня должно быть определение с именем hello, которое расширяет шаблон определения. Мое основное определение отображается на layout.jsp.
Когда я добавляю jspViewResolver, он принимает меня к hello.jsp, но если я прокомментирую это, он приведет меня к layout.jsp, который будет отображаться на основе определения hello в файле tiles.xml.
Итак, почему у нас не должно быть и jspViewResolver и tilesViewResolver вместе?
Оба являются экземплярами «UrlBasedViewResolver», которые просто создают URL-адрес независимо от фактического существования запроса. Другие 'ViewResolver', такие как' BeanNameViewResolver', не возвращают представление, когда оно не существует. Имея несколько «UrlBasedViewResolver», ваша цепочка распознавателей сделает последние никогда не вызываемыми. Как поясняется в документации к классу. –
Если бы вы поставили это как ответ, я бы выбрал это как лучший ответ. :) – user3705478
Комментарий не был полностью правдивым, дал несколько более подробное объяснение. –