在JSP中使用JSTL是否需要指定SpringJSTLView解析器?

在JSP中使用JSTL是否需要指定SpringJSTLView解析器?,spring,jsp,spring-mvc,jstl,Spring,Jsp,Spring Mvc,Jstl,在Spring中使用InternalResourceViewResolver时,是否需要将viewClass指定为 org.springframework.web.servlet.view.JstlView要使用JSTL吗?因为在不指定它的情况下,我仍然能够访问JSP中的JSTL标记(我使用了),没有任何异常或错误。Spring不知道JSTL,因为它不是Spring的一部分,这将作为通向JSTL的桥梁 从处理程序返回的视图名称将转换为JSP资源(例如:“myView”->”/WEB-INF/JS

在Spring中使用
InternalResourceViewResolver
时,是否需要将
viewClass
指定为
org.springframework.web.servlet.view.JstlView
要使用JSTL吗?因为在不指定它的情况下,我仍然能够访问JSP中的JSTL标记(我使用了
),没有任何异常或错误。

Spring不知道JSTL,因为它不是Spring的一部分,这将作为通向JSTL的桥梁 从处理程序返回的视图名称将转换为JSP资源(例如:“myView”->”/WEB-INF/JSP/myView.JSP),使用此视图类启用显式JSTL支持

它还将公开特定于JSTL的请求属性,使用Spring的locale和MessageSource为JSTL的格式化和消息标记指定区域设置和资源包

从资源文件(.properties文件)加载属性时


指定的MessageSource从类路径中的“messages.properties”等文件加载消息。这将自动作为JSTL本地化上下文公开给视图,JSTL fmt标记(消息等)将使用该上下文


来源:

我在看到 及


如果我们使用InternalResourceViewResolver解析视图,并且jstl jar位于类路径中,则默认情况下会设置JstlView类。

因为不指定它,我仍然能够访问jstl标记:

->这是因为InternalResourceViewResolver(在构造函数内部实例化期间)会在内部检查类路径和spring类装入器中是否存在JSTL类(特别是javax.servlet.jsp.JSTL.core.Config)。 所以,若类存在并且可以加载,它将自动在InternalResourceView上使用JstlView。所有这些都发生在它的默认构造函数中

因此,您无需特别告知如何使用JstlView。它将自动拍摄。
在您的例子中,它在类路径中提供了JSTL配置类,因此,它正在工作。

FYI:JSTL不是Spring的一部分。它是JavaEE/JSP的一部分。因此,使用JSTL需要一些特定于Spring的类的含义确实很奇怪。是的,但我的问题是,尽管我能够在不指定it@Mukeshkumarsaini没有必要,它是在2003年编写的,用于支持jstl,但是现在有了最新版本的spring,您不需要指定它,因为它会自动检测到我也这么认为。当jstl jar在CLASSPATH中时,它将被自动检测到。请添加第二条的更多说明paragraph@Mukeshkumarsaini澄清什么?在下面的例子中阐明了它本身。如果您有任何顾虑,请告诉我
 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
   <property name="basename" value="messages"/>
 </bean>