类 JstlView
public class JstlView extends InternalResourceView
Specialization ofInternalResourceView
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
MessageSource
.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
AbstractView.setExposeContextBeansAsAttributes(boolean)
flag to "true" in order to make all Spring beans in the application context accessible within JSTL expressions (e.g. in ac:out
value expression). This will also make all such beans accessible in plain${...}
expressions in a JSP 2.0 page.
字段概要
从类继承的字段 org.springframework.web.servlet.view.AbstractView
DEFAULT_CONTENT_TYPE
从类继承的字段 org.springframework.context.support.ApplicationObjectSupport
logger
从接口继承的字段 org.springframework.web.servlet.View
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected void
exposeHelpers(HttpServletRequest request)
Exposes a JSTL LocalizationContext for Spring's locale and MessageSource.protected void
initServletContext(ServletContext servletContext)
Wraps the MessageSource with a JSTL-aware MessageSource that is aware of JSTL'sjavax.servlet.jsp.jstl.fmt.localizationContext
context-param.从类继承的方法 org.springframework.web.servlet.view.InternalResourceView
getRequestDispatcher, isContextRequired, prepareForRendering, renderMergedOutputModel, setAlwaysInclude, setPreventDispatchLoop, useInclude
从类继承的方法 org.springframework.web.servlet.view.AbstractUrlBasedView
afterPropertiesSet, checkResource, getUrl, isUrlRequired, setUrl, toString
从类继承的方法 org.springframework.web.servlet.view.AbstractView
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse
从类继承的方法 org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, setServletContext
从类继承的方法 org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
构造器详细资料
JstlView
public JstlView()
Constructor for use as a bean.
JstlView
public JstlView(String url)
Create a new JstlView with the given URL.- 参数:
url
- the URL to forward to
JstlView
public JstlView(String url, MessageSource messageSource)
Create a new JstlView with the given URL.- 参数:
url
- the URL to forward tomessageSource
- the MessageSource to expose to JSTL tags (will be wrapped with a JSTL-aware MessageSource that is aware of JSTL'sjavax.servlet.jsp.jstl.fmt.localizationContext
context-param)- 另请参阅:
JstlUtils.getJstlAwareMessageSource(javax.servlet.ServletContext, org.springframework.context.MessageSource)
方法详细资料
initServletContext
protected void initServletContext(ServletContext servletContext)
Wraps the MessageSource with a JSTL-aware MessageSource that is aware of JSTL'sjavax.servlet.jsp.jstl.fmt.localizationContext
context-param.- 覆盖:
initServletContext
在类中WebApplicationObjectSupport
- 参数:
servletContext
- the ServletContext that this application object runs in (nevernull
)- 另请参阅:
JstlUtils.getJstlAwareMessageSource(javax.servlet.ServletContext, org.springframework.context.MessageSource)
exposeHelpers
protected void exposeHelpers(HttpServletRequest request) throws Exception
Exposes a JSTL LocalizationContext for Spring's locale and MessageSource.- 覆盖:
exposeHelpers
在类中InternalResourceView
- 参数:
request
- current HTTP request- 抛出:
Exception
- if there's a fatal error while we're adding attributes- 另请参阅:
JstlUtils.exposeLocalizationContext(javax.servlet.http.HttpServletRequest, org.springframework.context.MessageSource)