Ответ 1
Вы абсолютно можете. ViewResolver
имеет единственный метод resolveViewName(String)
, который возвращает
объект View или null, если не найден (необязательно, чтобы включить цепочку ViewResolver)
Зарегистрированы ваши ViewResolver
beans. Когда имя представления возвращается обработчиком, Spring выполняет итерацию через каждый ViewResolver
, вызывая их метод resolveViewName
с заданным именем. Если метод возвращает non -null
, используется View
. Если возвращается null
, он продолжает итерацию.
Таким образом, реализация должна вернуть null
, если Spring - это пропустить.
Есть несколько реализаций, которые никогда не возвращаются null
. Это похоже на ваши пользовательские классы ViewResolver
. Если ViewResolver
возвращает a View
, даже если этот View
в конечном итоге не будет отображаться, Spring будет использовать его.
Вам нужно либо исправить это, либо заказать ViewResolver
beans. Например, вы можете заказать их с помощью интерфейса Ordered
. Попросите ваши классы реализовать этот интерфейс и вернуть соответствующее значение.