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.JsonViewkey and the class name of the JSON view as value. - A filter provider with a
tools.jackson.databind.ser.FilterProviderkey and the filter provider class name as value.
- Since:
- 7.0
- Author:
- Sebastien Deleuze
- See Also:
-
Field Summary
FieldsFields inherited from class AbstractJacksonView
FILTER_PROVIDER_HINT, JSON_VIEW_HINT, updateContentLengthFields inherited from class ApplicationObjectSupport
loggerFields inherited from interface View
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new instance with anXmlMappercustomized with theJacksonModules found byMapperBuilder.findModules(ClassLoader)and setting the content type toapplication/xml.JacksonXmlView(tools.jackson.dataformat.xml.XmlMapper mapper) Construct a new instance using the providedXmlMapperand setting the content type toapplication/xml.JacksonXmlView(tools.jackson.dataformat.xml.XmlMapper.Builder builder) Construct a new instance using the providedXmlMapper.Buildercustomized with theJacksonModules found byMapperBuilder.findModules(ClassLoader)and setting the content type toapplication/xml. -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectfilterModel(Map<String, Object> model, jakarta.servlet.http.HttpServletRequest request) Filter out undesired attributes from the given model.voidsetModelKey(String modelKey) Set the attribute in the model that should be rendered by this view.Methods inherited from class AbstractJacksonView
getEncoding, prepareResponse, renderMergedOutputModel, setDisableCaching, setEncoding, setUpdateContentLength, writeContent, writePrefix, writeSuffixMethods inherited from class 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, writeToResponseMethods inherited from class WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextMethods inherited from class 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 anXmlMappercustomized with theJacksonModules found byMapperBuilder.findModules(ClassLoader)and setting the content type toapplication/xml. -
JacksonXmlView
public JacksonXmlView(tools.jackson.dataformat.xml.XmlMapper.Builder builder) Construct a new instance using the providedXmlMapper.Buildercustomized with theJacksonModules found byMapperBuilder.findModules(ClassLoader)and setting the content type toapplication/xml.- See Also:
-
JacksonXmlView
public JacksonXmlView(tools.jackson.dataformat.xml.XmlMapper mapper) Construct a new instance using the providedXmlMapperand setting the content type toapplication/xml.- See Also:
-
-
Method Details
-
setModelKey
Description copied from class:AbstractJacksonViewSet the attribute in the model that should be rendered by this view.When set, all other model attributes will be ignored.
- Specified by:
setModelKeyin classAbstractJacksonView
-
filterModel
protected Object filterModel(Map<String, Object> model, jakarta.servlet.http.HttpServletRequest request) Description copied from class:AbstractJacksonViewFilter out undesired attributes from the given model.The return value can be either another
Mapor a single value object.- Specified by:
filterModelin classAbstractJacksonView- Parameters:
model- the model, as passed on toAbstractJacksonView.renderMergedOutputModel(Map, HttpServletRequest, HttpServletResponse)request- current HTTP request- Returns:
- the value to be rendered
-