При использовании InternalResourceViewResolver
весной необходимо указать viewClass
как org.springframework.web.servlet.view.JstlView
для использования JSTL? Потому что, не указав это, я все еще могу получить доступ к тегам JSTL (я использовал <c:out/>
) в JSP без каких-либо исключений или ошибок.Нужно ли указывать Spring JstlView для использования JSTL в JSP?
ответ
Весна не знает о jstl, поскольку она не является частью Spring, это будет работать как мост к JSTL . Просмотр имени, возвращаемого обработчиком, будет переведено на ресурс JSP (например: «myView» -> " /WEB-INF/jsp/myView.jsp "), используя этот класс представления, чтобы включить ясную поддержку JSTL .
Он также предоставит атрибуты запроса JSTL, задающие языковой стандарт и набор ресурсов для форматирования и тегов JSTL, используя язык Spring и MessageSource.
При загрузке своих свойств из файла ресурсов (файл .properties)
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
Указанного MessageSource загружает сообщения от «messages.properties» и т.д. файлов в пути к классам. Это будет автоматически отображаться в виде контекста локализации JSTL, который будет использовать теги fmt JSTL (сообщение и т. Д.).
Источник: JSTL View
Я нашел ответ, увидев InternalResourceViewResolver и here
Класс JstlView устанавливается по умолчанию, если мы разрешаем вид с помощью InternalResourceViewResolver и JSTL банка находится в пути к классам .
Хотя я не знаю, какая конкретная версия весны mvc сделала ее по умолчанию.
FYI: JSTL не является частью весны. Это часть Java EE/JSP. Таким образом, подразумевается, что для использования JSTL необходим определенный класс Spring, который действительно является странным. – BalusC
Да, но мой вопрос в том, почему это необходимо, хотя я могу использовать JSTL, не указав его. – optional
@Mukeshkumarsaini Нет необходимости, он был написан в 2003 году, чтобы включить поддержку jstl, но теперь с последними версиями весны вы не нужно указывать его, поскольку он автоматически обнаружит – Pragnani