org.springframework.web.servlet.view
Class JstlView
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.AbstractUrlBasedView
org.springframework.web.servlet.view.InternalResourceView
org.springframework.web.servlet.view.JstlView
- All Implemented Interfaces:
- BeanNameAware, InitializingBean, ApplicationContextAware, View
public class JstlView
- extends InternalResourceView
Specialization of 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 message source.
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.
- Since:
- 27.02.2003
- Author:
- Juergen Hoeller
- See Also:
JstlUtils.exposeLocalizationContext(javax.servlet.http.HttpServletRequest, org.springframework.context.MessageSource)
,
InternalResourceViewResolver
,
ResourceBundleMessageSource
,
ReloadableResourceBundleMessageSource
Methods inherited from class org.springframework.web.servlet.view.AbstractView |
addStaticAttribute, createRequestContext, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute |
JstlView
public JstlView()
initApplicationContext
protected void initApplicationContext()
- Description copied from class:
ApplicationObjectSupport
- Subclasses can override this for custom initialization behavior.
Gets called by
setApplicationContext
after setting the context instance.
Note: Does not get called on reinitialization of the context
but rather just on first initialization of this object's context reference.
- Overrides:
initApplicationContext
in class ApplicationObjectSupport
- See Also:
ApplicationObjectSupport.setApplicationContext(org.springframework.context.ApplicationContext)
exposeHelpers
protected void exposeHelpers(HttpServletRequest request)
throws Exception
- Description copied from class:
InternalResourceView
- Expose helpers unique to each rendering operation. This is necessary so that
different rendering operations can't overwrite each other's contexts etc.
Called by renderMergedTemplateModel. The default implementation is empty.
This method can be overridden to add custom helpers as request attributes.
- Overrides:
exposeHelpers
in class InternalResourceView
- Parameters:
request
- current HTTP request
- Throws:
Exception
- if there's a fatal error while we're adding attributes- See Also:
InternalResourceView.renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
,
exposeHelpers(javax.servlet.http.HttpServletRequest)
,
TilesJstlView.exposeHelpers(javax.servlet.http.HttpServletRequest)
Copyright (c) 2002-2007 The Spring Framework Project.