org.apache.struts2.interceptor.validation
Class JSONValidationInterceptor

java.lang.Object
  extended by com.opensymphony.xwork2.interceptor.AbstractInterceptor
      extended by com.opensymphony.xwork2.interceptor.MethodFilterInterceptor
          extended by org.apache.struts2.interceptor.validation.JSONValidationInterceptor
All Implemented Interfaces:
Interceptor, java.io.Serializable

public class JSONValidationInterceptor
extends MethodFilterInterceptor

Serializes validation and action errors into JSON. This interceptor does not perform any validation, so it must follow the 'validation' interceptor on the stack.

This stack (defined in struts-default.xml) shows how to use this interceptor with the 'validation' interceptor

 <interceptor-stack name="jsonValidationWorkflowStack">
      <interceptor-ref name="basicStack"/>
      <interceptor-ref name="validation">
            <param name="excludeMethods">input,back,cancel</param>
      </interceptor-ref>
      <interceptor-ref name="jsonValidation"/>
      <interceptor-ref name="workflow"/>
 </interceptor-stack>
 

If 'validationFailedStatus' is set it will be used as the Response status when validation fails.

If the request has a parameter 'struts.validateOnly' execution will return after validation (action won't be executed).

A request parameter named 'struts.enableJSONValidation' must be set to 'true' to use this interceptor

If the request has a parameter 'struts.JSONValidation.set.encoding' set to true the character encoding will NOT be set on the response - is needed in portlet environment - for more details see issue WW-3237

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.opensymphony.xwork2.interceptor.MethodFilterInterceptor
excludeMethods, includeMethods, log
 
Constructor Summary
JSONValidationInterceptor()
           
 
Method Summary
protected  java.lang.String buildResponse(ValidationAware validationAware)
           
protected  java.lang.String doIntercept(ActionInvocation invocation)
           
 void setValidationFailedStatus(int validationFailedStatus)
          HTTP status that will be set in the response if validation fails
 
Methods inherited from class com.opensymphony.xwork2.interceptor.MethodFilterInterceptor
applyInterceptor, getExcludeMethodsSet, getIncludeMethodsSet, intercept, setExcludeMethods, setIncludeMethods
 
Methods inherited from class com.opensymphony.xwork2.interceptor.AbstractInterceptor
destroy, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JSONValidationInterceptor

public JSONValidationInterceptor()
Method Detail

setValidationFailedStatus

public void setValidationFailedStatus(int validationFailedStatus)
HTTP status that will be set in the response if validation fails

Parameters:
validationFailedStatus -

doIntercept

protected java.lang.String doIntercept(ActionInvocation invocation)
                                throws java.lang.Exception
Specified by:
doIntercept in class MethodFilterInterceptor
Throws:
java.lang.Exception

buildResponse

protected java.lang.String buildResponse(ValidationAware validationAware)
Returns:
JSON string that contains the errors and field errors


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