org.apache.struts2.json
Class JSONResult

java.lang.Object
  extended by org.apache.struts2.json.JSONResult
All Implemented Interfaces:
Result, java.io.Serializable

public class JSONResult
extends java.lang.Object
implements Result

This result serializes an action into JSON.

Result parameters:

Example:

 <!-- START SNIPPET: example -->
 <result name="success" type="json" />
 <!-- END SNIPPET: example -->
 

See Also:
Serialized Form

Constructor Summary
JSONResult()
           
 
Method Summary
protected  java.lang.String addCallbackIfApplicable(javax.servlet.http.HttpServletRequest request, java.lang.String json)
           
protected  SMD buildSMDObject(ActionInvocation invocation)
           
 void execute(ActionInvocation invocation)
           
 java.lang.String getCallbackParameter()
           
protected  java.lang.String getEncoding()
          Retrieve the encoding

 java.util.List<java.util.regex.Pattern> getExcludePropertiesList()
          Gets a list of regular expressions of properties to exclude from the JSON output.
 java.util.List<java.util.regex.Pattern> getIncludePropertiesList()
           
 java.lang.String getRoot()
           
 java.lang.String getWrapPrefix()
           
 java.lang.String getWrapSuffix()
           
 boolean isEnableGZIP()
           
 boolean isEnableSMD()
           
 boolean isEnumAsBean()
           
 boolean isExcludeNullProperties()
           
 boolean isIgnoreHierarchy()
           
 boolean isNoCache()
           
 boolean isWrapWithComments()
           
 void setCallbackParameter(java.lang.String callbackParameter)
           
 void setContentType(java.lang.String contentType)
          Content type to be set in the response
 void setDefaultEncoding(java.lang.String val)
           
 void setEnableGZIP(boolean enableGZIP)
           
 void setEnableSMD(boolean enableSMD)
          Enable SMD generation for action, which can be used for JSON-RPC
 void setEnumAsBean(boolean enumAsBean)
          Controls how Enum's are serialized : If true, an Enum is serialized as a name=value pair (name=name()) (default) If false, an Enum is serialized as a bean with a special property _name=name()
 void setErrorCode(int errorCode)
          Error code to be set in the response
 void setExcludeNullProperties(boolean excludeNullProperties)
          Do not serialize properties with a null value
 void setExcludeProperties(java.lang.String commaDelim)
          Sets a comma-delimited list of regular expressions to match properties that should be excluded from the JSON output.
 void setExcludeWildcards(java.lang.String commaDelim)
          Sets a comma-delimited list of wildcard expressions to match properties that should be excluded from the JSON output.
 void setIgnoreHierarchy(boolean ignoreHierarchy)
           
 void setIgnoreInterfaces(boolean ignoreInterfaces)
          Controls whether interfaces should be inspected for method annotations You may need to set to this true if your action is a proxy as annotations on methods are not inherited
 void setIncludeProperties(java.lang.String commaDelim)
          Sets a comma-delimited list of regular expressions to match properties that should be included in the JSON output.
 void setIncludeWildcards(java.lang.String commaDelim)
          Sets a comma-delimited list of wildcard expressions to match properties that should be included in the JSON output.
 void setNoCache(boolean noCache)
          Add headers to response to prevent the browser from caching the response
 void setPrefix(boolean prefix)
          Prefix JSON with "{} &&"
 void setRoot(java.lang.String root)
          Sets the root object to be serialized, defaults to the Action
 void setStatusCode(int statusCode)
          Status code to be set in the response
 void setWrapPrefix(java.lang.String wrapPrefix)
          Text to be inserted at the begining of the response
 void setWrapSuffix(java.lang.String wrapSuffix)
          Text to be inserted at the end of the response
 void setWrapWithComments(boolean wrapWithComments)
          Wrap generated JSON with comments
protected  void writeToResponse(javax.servlet.http.HttpServletResponse response, java.lang.String json, boolean gzip)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JSONResult

public JSONResult()
Method Detail

setDefaultEncoding

public void setDefaultEncoding(java.lang.String val)

getExcludePropertiesList

public java.util.List<java.util.regex.Pattern> getExcludePropertiesList()
Gets a list of regular expressions of properties to exclude from the JSON output.

Returns:
A list of compiled regular expression patterns

setExcludeProperties

public void setExcludeProperties(java.lang.String commaDelim)
Sets a comma-delimited list of regular expressions to match properties that should be excluded from the JSON output.

Parameters:
commaDelim - A comma-delimited list of regular expressions

setExcludeWildcards

public void setExcludeWildcards(java.lang.String commaDelim)
Sets a comma-delimited list of wildcard expressions to match properties that should be excluded from the JSON output.

Parameters:
commaDelim - A comma-delimited list of wildcard patterns

getIncludePropertiesList

public java.util.List<java.util.regex.Pattern> getIncludePropertiesList()
Returns:
the includeProperties

setIncludeProperties

public void setIncludeProperties(java.lang.String commaDelim)
Sets a comma-delimited list of regular expressions to match properties that should be included in the JSON output.

Parameters:
commaDelim - A comma-delimited list of regular expressions

setIncludeWildcards

public void setIncludeWildcards(java.lang.String commaDelim)
Sets a comma-delimited list of wildcard expressions to match properties that should be included in the JSON output.

Parameters:
commaDelim - A comma-delimited list of wildcard patterns

execute

public void execute(ActionInvocation invocation)
             throws java.lang.Exception
Specified by:
execute in interface Result
Throws:
java.lang.Exception

writeToResponse

protected void writeToResponse(javax.servlet.http.HttpServletResponse response,
                               java.lang.String json,
                               boolean gzip)
                        throws java.io.IOException
Throws:
java.io.IOException

buildSMDObject

protected SMD buildSMDObject(ActionInvocation invocation)

getEncoding

protected java.lang.String getEncoding()
Retrieve the encoding

Returns:
The encoding associated with this template (defaults to the value of 'struts.i18n.encoding' property)

addCallbackIfApplicable

protected java.lang.String addCallbackIfApplicable(javax.servlet.http.HttpServletRequest request,
                                                   java.lang.String json)

getRoot

public java.lang.String getRoot()
Returns:
OGNL expression of root object to be serialized

setRoot

public void setRoot(java.lang.String root)
Sets the root object to be serialized, defaults to the Action

Parameters:
root - OGNL expression of root object to be serialized

isWrapWithComments

public boolean isWrapWithComments()
Returns:
Generated JSON must be enclosed in comments

setWrapWithComments

public void setWrapWithComments(boolean wrapWithComments)
Wrap generated JSON with comments

Parameters:
wrapWithComments -

isEnableSMD

public boolean isEnableSMD()
Returns:
Result has SMD generation enabled

setEnableSMD

public void setEnableSMD(boolean enableSMD)
Enable SMD generation for action, which can be used for JSON-RPC

Parameters:
enableSMD -

setIgnoreHierarchy

public void setIgnoreHierarchy(boolean ignoreHierarchy)

setIgnoreInterfaces

public void setIgnoreInterfaces(boolean ignoreInterfaces)
Controls whether interfaces should be inspected for method annotations You may need to set to this true if your action is a proxy as annotations on methods are not inherited


setEnumAsBean

public void setEnumAsBean(boolean enumAsBean)
Controls how Enum's are serialized : If true, an Enum is serialized as a name=value pair (name=name()) (default) If false, an Enum is serialized as a bean with a special property _name=name()

Parameters:
enumAsBean -

isEnumAsBean

public boolean isEnumAsBean()

isEnableGZIP

public boolean isEnableGZIP()

setEnableGZIP

public void setEnableGZIP(boolean enableGZIP)

isNoCache

public boolean isNoCache()

setNoCache

public void setNoCache(boolean noCache)
Add headers to response to prevent the browser from caching the response

Parameters:
noCache -

isIgnoreHierarchy

public boolean isIgnoreHierarchy()

isExcludeNullProperties

public boolean isExcludeNullProperties()

setExcludeNullProperties

public void setExcludeNullProperties(boolean excludeNullProperties)
Do not serialize properties with a null value

Parameters:
excludeNullProperties -

setStatusCode

public void setStatusCode(int statusCode)
Status code to be set in the response

Parameters:
statusCode -

setErrorCode

public void setErrorCode(int errorCode)
Error code to be set in the response

Parameters:
errorCode -

setCallbackParameter

public void setCallbackParameter(java.lang.String callbackParameter)

getCallbackParameter

public java.lang.String getCallbackParameter()

setPrefix

public void setPrefix(boolean prefix)
Prefix JSON with "{} &&"

Parameters:
prefix -

setContentType

public void setContentType(java.lang.String contentType)
Content type to be set in the response

Parameters:
contentType -

getWrapPrefix

public java.lang.String getWrapPrefix()

setWrapPrefix

public void setWrapPrefix(java.lang.String wrapPrefix)
Text to be inserted at the begining of the response


getWrapSuffix

public java.lang.String getWrapSuffix()

setWrapSuffix

public void setWrapSuffix(java.lang.String wrapSuffix)
Text to be inserted at the end of the response



Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.