java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
com.alibaba.fastjson.support.spring.annotation.FastJsonView
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.View

public class FastJsonView extends org.springframework.web.servlet.view.AbstractView
Fastjson for Spring MVC View.

Compatible fastjson 1.2.x

Since:
2.0.2
Author:
libinsong, VictorZeng
See Also:
  • AbstractView
  • Field Summary

    Fields inherited from class org.springframework.web.servlet.view.AbstractView

    DEFAULT_CONTENT_TYPE

    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

    Constructors
    Constructor
    Description
    Set default param.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Object
    Filters out undesired attributes from the given model.
     
    boolean
    Check extractValueFromSingleKeyModel.
    protected void
    prepareResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
     
    protected void
    renderMergedOutputModel(Map<String,Object> model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
     
    void
    setDisableCaching(boolean disableCaching)
    Disables caching of the generated JSON.
    void
    setExtractValueFromSingleKeyModel(boolean extractValueFromSingleKeyModel)
    Set extractValueFromSingleKeyModel.
    void
     
    void
    setRenderedAttributes(Set<String> renderedAttributes)
    Set renderedAttributes.
    protected void
    setResponseContentType(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
     
    void
    setUpdateContentLength(boolean updateContentLength)
    Whether to update the 'Content-Length' header of the response.

    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, 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • FastJsonView

      public FastJsonView()
      Set default param.
  • Method Details

    • getFastJsonConfig

      public FastJsonConfig getFastJsonConfig()
      Returns:
      the fastJsonConfig.
    • setFastJsonConfig

      public void setFastJsonConfig(FastJsonConfig fastJsonConfig)
      Parameters:
      fastJsonConfig - the fastJsonConfig to set.
    • setRenderedAttributes

      public void setRenderedAttributes(Set<String> renderedAttributes)
      Set renderedAttributes.
      Parameters:
      renderedAttributes - renderedAttributes
    • isExtractValueFromSingleKeyModel

      public boolean isExtractValueFromSingleKeyModel()
      Check extractValueFromSingleKeyModel.
      Returns:
      extractValueFromSingleKeyModel
    • setExtractValueFromSingleKeyModel

      public void setExtractValueFromSingleKeyModel(boolean extractValueFromSingleKeyModel)
      Set extractValueFromSingleKeyModel.
    • renderMergedOutputModel

      protected void renderMergedOutputModel(Map<String,Object> model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
      Specified by:
      renderMergedOutputModel in class org.springframework.web.servlet.view.AbstractView
      Throws:
      Exception
    • prepareResponse

      protected void prepareResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Overrides:
      prepareResponse in class org.springframework.web.servlet.view.AbstractView
    • setDisableCaching

      public void setDisableCaching(boolean disableCaching)
      Disables caching of the generated JSON.

      Default is true, which will prevent the client from caching the generated JSON.

    • setUpdateContentLength

      public void setUpdateContentLength(boolean updateContentLength)
      Whether to update the 'Content-Length' header of the response. When set to true, the response is buffered in order to determine the content length and set the 'Content-Length' header of the response.

      The default setting is false.

    • filterModel

      protected Object filterModel(Map<String,Object> model)
      Filters out undesired attributes from the given model. The return value can be either another Map, or a single value object.

      Default implementation removes BindingResult instances and entries not included in the renderedAttributes property.

      Parameters:
      model - the model, as passed on to renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
      Returns:
      the object to be rendered
    • setResponseContentType

      protected void setResponseContentType(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Overrides:
      setResponseContentType in class org.springframework.web.servlet.view.AbstractView