Class JacksonXmlView
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.AbstractJacksonView
org.springframework.web.servlet.view.xml.JacksonXmlView
- All Implemented Interfaces:
Aware
,BeanNameAware
,ApplicationContextAware
,ServletContextAware
,View
Spring MVC
View
that renders XML content by serializing the model for the current request
using Jackson 3's XmlMapper
.
The Object to be serialized is supplied as a parameter in the model. The first serializable
entry is used. Users can specify a specific entry in the model via the
sourceKey
property.
The following special model entries are supported:
- A JSON view with a
com.fasterxml.jackson.annotation.JsonView
key and the class name of the JSON view as value. - A filter provider with a
tools.jackson.databind.ser.FilterProvider
key and the filter provider class name as value.
- Since:
- 7.0
- Author:
- Sebastien Deleuze
- See Also:
-
Field Summary
FieldsFields inherited from class org.springframework.web.servlet.view.AbstractJacksonView
FILTER_PROVIDER_HINT, JSON_VIEW_HINT, updateContentLength
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.web.servlet.View
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new instance with anXmlMapper
customized with theJacksonModule
s found byMapperBuilder.findModules(ClassLoader)
and setting the content type toapplication/xml
.JacksonXmlView
(tools.jackson.dataformat.xml.XmlMapper xmlMapper) Construct a new instance using the providedXmlMapper
and setting the content type toapplication/xml
. -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
filterModel
(Map<String, Object> model, HttpServletRequest request) Filter out undesired attributes from the given model.void
setModelKey
(String modelKey) Set the attribute in the model that should be rendered by this view.Methods inherited from class org.springframework.web.servlet.view.AbstractJacksonView
getEncoding, prepareResponse, renderMergedOutputModel, setDisableCaching, setEncoding, setUpdateContentLength, writeContent, writePrefix, writeSuffix
Methods inherited from class org.springframework.web.servlet.view.AbstractView
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, toString, writeToResponse
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
-
Field Details
-
DEFAULT_CONTENT_TYPE
Default content type: "application/xml".Overridable through
AbstractView.setContentType(String)
.- See Also:
-
-
Constructor Details
-
JacksonXmlView
public JacksonXmlView()Construct a new instance with anXmlMapper
customized with theJacksonModule
s found byMapperBuilder.findModules(ClassLoader)
and setting the content type toapplication/xml
. -
JacksonXmlView
public JacksonXmlView(tools.jackson.dataformat.xml.XmlMapper xmlMapper) Construct a new instance using the providedXmlMapper
and setting the content type toapplication/xml
.
-
-
Method Details
-
setModelKey
Description copied from class:AbstractJacksonView
Set the attribute in the model that should be rendered by this view.When set, all other model attributes will be ignored.
- Specified by:
setModelKey
in classAbstractJacksonView
-
filterModel
Description copied from class:AbstractJacksonView
Filter out undesired attributes from the given model.The return value can be either another
Map
or a single value object.- Specified by:
filterModel
in classAbstractJacksonView
- Parameters:
model
- the model, as passed on toAbstractJacksonView.renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
request
- current HTTP request- Returns:
- the value to be rendered
-