Class JSONValidationInterceptor

All Implemented Interfaces:
Serializable, ConditionalInterceptor, Interceptor

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.
See Also:
  • Field Details

  • Constructor Details

    • JSONValidationInterceptor

      public JSONValidationInterceptor()
  • Method Details

    • doIntercept

      protected String doIntercept(ActionInvocation invocation) throws Exception
      Specified by:
      doIntercept in class MethodFilterInterceptor
      Throws:
      Exception
    • isJsonEnabled

      public boolean isJsonEnabled(jakarta.servlet.http.HttpServletRequest request)
    • isValidateOnly

      public boolean isValidateOnly(jakarta.servlet.http.HttpServletRequest request)
    • isSetEncoding

      public boolean isSetEncoding(jakarta.servlet.http.HttpServletRequest request)
    • buildResponse

      protected String buildResponse(ValidationAware validationAware)
      Parameters:
      validationAware - the validation aware object
      Returns:
      JSON string that contains the errors and field errors
    • setValidationFailedStatus

      public void setValidationFailedStatus(int validationFailedStatus)
      HTTP status that will be set in the response if validation fails
      Parameters:
      validationFailedStatus - validation failed status
    • setValidateOnlyParam

      public void setValidateOnlyParam(String validateOnlyParam)
      Overrides 'struts.validateOnly' param name
      Parameters:
      validateOnlyParam - new param name
    • setValidateJsonParam

      public void setValidateJsonParam(String validateJsonParam)
      Overrides 'struts.enableJSONValidation' param name
      Parameters:
      validateJsonParam - new param name
    • setNoEncodingSetParam

      public void setNoEncodingSetParam(String noEncodingSetParam)
      Overrides 'struts.JSONValidation.no.encoding' param name
      Parameters:
      noEncodingSetParam - new param name