| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.json.MappingJacksonJsonView
public class MappingJacksonJsonView
Spring-MVC View that renders JSON content by serializing the model for the current request using Jackson's ObjectMapper.
 
By default, the entire contents of the model map (with the exception of framework-specific classes) will be
 encoded as JSON. For cases where the contents of the map need to be filtered, users may specify a specific set of
 model attributes to encode via the renderedAttributes property.
MappingJacksonHttpMessageConverter| Field Summary | |
|---|---|
| static String | DEFAULT_CONTENT_TYPEDefault content type. | 
| Fields inherited from class org.springframework.context.support.ApplicationObjectSupport | 
|---|
| logger | 
| Fields inherited from interface org.springframework.web.servlet.View | 
|---|
| RESPONSE_STATUS_ATTRIBUTE | 
| Constructor Summary | |
|---|---|
| MappingJacksonJsonView()Construct a new JacksonJsonView, setting the content type toapplication/json. | |
| Method Summary | |
|---|---|
| protected  Object | filterModel(Map<String,Object> model)Filters out undesired attributes from the given model. | 
|  Set<String> | getRenderedAttributes()Returns the attributes in the model that should be rendered by this view. | 
| protected  void | prepareResponse(HttpServletRequest request,
                HttpServletResponse response)Prepare the given response for rendering. | 
| protected  void | renderMergedOutputModel(Map<String,Object> model,
                        HttpServletRequest request,
                        HttpServletResponse response)Subclasses must implement this method to actually render the view. | 
|  void | setDisableCaching(boolean disableCaching)Disables caching of the generated JSON. | 
|  void | setEncoding(org.codehaus.jackson.JsonEncoding encoding)Sets the JsonEncodingfor this converter. | 
|  void | setObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)Sets the ObjectMapperfor this view. | 
|  void | setPrefixJson(boolean prefixJson)Indicates whether the JSON output by this view should be prefixed with " {} &&". | 
|  void | setRenderedAttributes(Set<String> renderedAttributes)Sets the attributes in the model that should be rendered by this view. | 
| Methods inherited from class org.springframework.web.servlet.view.AbstractView | 
|---|
| addStaticAttribute, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute, 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, requiredContextClass, setApplicationContext | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public static final String DEFAULT_CONTENT_TYPE
| Constructor Detail | 
|---|
public MappingJacksonJsonView()
JacksonJsonView, setting the content type to application/json.
| Method Detail | 
|---|
public void setObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)
ObjectMapper for this view. If not set, a default ObjectMapper
 is used.
 Setting a custom-configured ObjectMapper is one way to take further control of the JSON serialization
 process. For example, an extended SerializerFactory can be configured that provides custom serializers for
 specific types. The other option for refining the serialization process is to use Jackson's provided annotations on
 the types to be serialized, in which case a custom-configured ObjectMapper is unnecessary.
public void setEncoding(org.codehaus.jackson.JsonEncoding encoding)
JsonEncoding for this converter. By default, UTF-8 is used.
public void setPrefixJson(boolean prefixJson)
{} &&". Default is false.
 Prefixing the JSON string in this manner is used to help prevent JSON Hijacking. The prefix renders the string syntactically invalid as a script so that it cannot be hijacked. This prefix does not affect the evaluation of JSON, but if JSON validation is performed on the string, the prefix would need to be ignored.
public Set<String> getRenderedAttributes()
public void setRenderedAttributes(Set<String> renderedAttributes)
public void setDisableCaching(boolean disableCaching)
Default is true, which will prevent the client from caching the generated JSON.
protected void prepareResponse(HttpServletRequest request,
                               HttpServletResponse response)
AbstractViewThe default implementation applies a workaround for an IE bug when sending download content via HTTPS.
prepareResponse in class AbstractViewrequest - current HTTP requestresponse - current HTTP response
protected void renderMergedOutputModel(Map<String,Object> model,
                                       HttpServletRequest request,
                                       HttpServletResponse response)
                                throws Exception
AbstractViewThe first step will be preparing the request: In the JSP case, this would mean setting model objects as request attributes. The second step will be the actual rendering of the view, for example including the JSP via a RequestDispatcher.
renderMergedOutputModel in class AbstractViewmodel - combined output Map (never null),
 with dynamic values taking precedence over static attributesrequest - current HTTP requestresponse - current HTTP response
Exception - if rendering failedprotected Object filterModel(Map<String,Object> model)
Map, or a
 single value object.
 Default implementation removes BindingResult instances and entries not included in the renderedAttributes property.
model - the model, as passed on to renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||