InternalResourceView for JSTL pages,
i.e. JSP pages that use the JSP Standard Tag Library.
Exposes JSTL-specific request attributes specifying locale
and resource bundle for JSTL's formatting and message tags,
using Spring's locale and org..
Typical usage with InternalResourceViewResolver would look as follows,
from the perspective of the DispatcherServlet context definition:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="messages"/> </bean>Every view name returned from a handler will be translated to a JSP resource (for example: "myView" → "/WEB-INF/jsp/myView.jsp"), using this view class to enable explicit JSTL support.
The specified MessageSource loads messages from "messages.properties" etc files in the class path. This will automatically be exposed to views as JSTL localization context, which the JSTL fmt tags (message etc) will use. Consider using Spring's ReloadableResourceBundleMessageSource instead of the standard ResourceBundleMessageSource for more sophistication. Of course, any other Spring components can share the same MessageSource.
This is a separate class mainly to avoid JSTL dependencies in
InternalResourceView itself. JSTL has not been part of standard
J2EE up until J2EE 1.4, so we can't assume the JSTL API jar to be
available on the class path.
Hint: Set the setExposeContextBeansAsAttributes flag to "true"
in order to make all Spring beans in the application context accessible
within JSTL expressions (e.g. in a c:out value expression).
This will also make all such beans accessible in plain ${...}
expressions in a JSP 2.0 page.
org.springframework.web.servlet.support.JstlUtils#exposeLocalizationContext , InternalResourceViewResolver, org.springframework.context.support.ResourceBundleMessageSource , org.springframework.context.support.ReloadableResourceBundleMessageSource
| Modifier and Type | Field and Description |
|---|---|
| private MessageSource |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| public | JstlView(String
the URL to forward to url, MessageSource the MessageSource to expose to JSTL tags
(will be wrapped with a JSTL-aware MessageSource that is aware of JSTL's
messageSource)jakarta.servlet.jsp.jstl.fmt.localizationContext context-param)Create a new JstlView with the given URL. |
| Modifier and Type | Method and Description |
|---|---|
| protected void | exposeHelpers(HttpServletRequest
current HTTP request request)Overrides org. Exposes a JSTL LocalizationContext for Spring's locale and MessageSource. |
| protected void | initServletContext(ServletContext
the ServletContext that this application object runs in
(never servletContext)null)Overrides org. Wraps the MessageSource with a JSTL-aware MessageSource that is aware
of JSTL's |
| messageSource | back to summary |
|---|---|
| private MessageSource messageSource
| |
| JstlView | back to summary |
|---|---|
| public JstlView() Constructor for use as a bean.
| |
| JstlView | back to summary |
|---|---|
| public JstlView(String url) Create a new JstlView with the given URL.
| |
| JstlView | back to summary |
|---|---|
| public JstlView(String url, MessageSource messageSource) Create a new JstlView with the given URL.
| |
| exposeHelpers | back to summary |
|---|---|
| protected void exposeHelpers(HttpServletRequest request) throws Exception Overrides org. Exposes a JSTL LocalizationContext for Spring's locale and MessageSource.
| |
| initServletContext | back to summary |
|---|---|
| protected void initServletContext(ServletContext servletContext) Overrides org. Wraps the MessageSource with a JSTL-aware MessageSource that is aware
of JSTL's
| |