2016-02-25 1 views
2

При использовании InternalResourceViewResolver весной необходимо указать viewClass как org.springframework.web.servlet.view.JstlView для использования JSTL? Потому что, не указав это, я все еще могу получить доступ к тегам JSTL (я использовал <c:out/>) в JSP без каких-либо исключений или ошибок.Нужно ли указывать Spring JstlView для использования JSTL в JSP?

+1

FYI: JSTL не является частью весны. Это часть Java EE/JSP. Таким образом, подразумевается, что для использования JSTL необходим определенный класс Spring, который действительно является странным. – BalusC

+0

Да, но мой вопрос в том, почему это необходимо, хотя я могу использовать JSTL, не указав его. – optional

+0

@Mukeshkumarsaini Нет необходимости, он был написан в 2003 году, чтобы включить поддержку jstl, но теперь с последними версиями весны вы не нужно указывать его, поскольку он автоматически обнаружит – Pragnani

ответ

1

Весна не знает о 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

+0

. Пожалуйста, добавьте дополнительные пояснения к второму абзацу – optional

+0

@Mukeshkumarsaini разъяснение о чем? проясненный в приведенном ниже примере. Дайте мне знать, если у вас есть вопросы – Pragnani

+0

Итак, я получил его сейчас – optional

1

Я нашел ответ, увидев InternalResourceViewResolver и here

Класс JstlView устанавливается по умолчанию, если мы разрешаем вид с помощью InternalResourceViewResolver и JSTL банка находится в пути к классам .

Хотя я не знаю, какая конкретная версия весны mvc сделала ее по умолчанию.