# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Annotation Types
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors

- Deprecated Interfaces
  Interface and Description
  com.opensymphony.xwork2.Action since 6.7.0, use `Action` instead.
  com.opensymphony.xwork2.ActionEventListener since 6.7.0, use `ActionEventListener` instead.
  com.opensymphony.xwork2.ActionInvocation since 6.7.0, use `ActionInvocation` instead.
  com.opensymphony.xwork2.ActionProxy
  org.apache.struts2.interceptor.ApplicationAware
  com.opensymphony.xwork2.interceptor.ConditionalInterceptor since 6.7.0, use `Interceptor` instead.
  org.apache.struts2.interceptor.CookiesAware please use `CookiesAware` instead
  org.apache.struts2.interceptor.HttpParametersAware
  com.opensymphony.xwork2.interceptor.Interceptor since 6.7.0, use `Interceptor` instead.
  com.opensymphony.xwork2.ModelDriven since 6.7.0, use `ModelDriven` instead.
  com.opensymphony.xwork2.interceptor.NoParameters since Struts 6.2.0, use `NoParameters`
  org.apache.struts2.interceptor.ParameterAware
  com.opensymphony.xwork2.interceptor.ParameterNameAware since 6.4.0, use `ParameterNameAware`.
  com.opensymphony.xwork2.interceptor.ParameterValueAware since 6.4.0, use `ParameterValueAware`.
  com.opensymphony.xwork2.Preparable since 6.7.0, use `Preparable` instead.
  com.opensymphony.xwork2.interceptor.PreResultListener since 6.7.0, use `PreResultListener` instead.
  org.apache.struts2.interceptor.PrincipalAware
  com.opensymphony.xwork2.util.reflection.ReflectionContextFactory since 6.8.0, avoid using this interface and any of its implementation, it's going to be removed soon
  org.apache.struts2.interceptor.RequestAware
  com.opensymphony.xwork2.Result since 6.7.0, use `Result` instead.
  com.opensymphony.xwork2.interceptor.ScopedModelDriven since 6.7.0, use `ScopedModelDriven` instead.
  org.apache.struts2.util.ServletContextAware
  org.apache.struts2.interceptor.ServletRequestAware
  org.apache.struts2.interceptor.ServletResponseAware
  org.apache.struts2.interceptor.SessionAware
  com.opensymphony.xwork2.Unchainable since 6.7.0, use `Unchainable` instead.
  com.opensymphony.xwork2.Validateable since 6.7.0, use `Validateable` instead.
  com.opensymphony.xwork2.interceptor.ValidationAware since 6.7.0, use `ValidationAware` instead.
  com.opensymphony.xwork2.interceptor.ValidationErrorAware since 6.7.0, use `ValidationErrorAware` instead.
  com.opensymphony.xwork2.interceptor.ValidationWorkflowAware since 6.7.0, use `ValidationWorkflowAware` instead.
  com.opensymphony.xwork2.util.ValueStack since 6.7.0, use `ValueStack` instead.

- Deprecated Classes
  Class and Description
  com.opensymphony.xwork2.interceptor.AbstractInterceptor since 6.7.0, use `AbstractInterceptor` instead.
  com.opensymphony.xwork2.ActionChainResult since 6.7.0, use `ActionChainResult` instead.
  com.opensymphony.xwork2.ActionContext since 6.7.0, use `ActionContext` instead.
  com.opensymphony.xwork2.ActionSupport since 6.7.0, use `ActionSupport` instead.
  com.opensymphony.xwork2.interceptor.AliasInterceptor since 6.7.0, use `AliasInterceptor` instead.
  com.opensymphony.xwork2.interceptor.annotations.AnnotationParameterFilterInterceptor since 6.6.0, integrated into `ParametersInterceptor` with `StrutsParameter` using `struts.parameters.requireAnnotations=true`
  com.opensymphony.xwork2.interceptor.ChainingInterceptor since 6.7.0, use `ChainingInterceptor` instead.
  com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor since 6.7.0, use `ConversionErrorInterceptor` instead.
  com.opensymphony.xwork2.factory.DefaultResultFactory since 6.7.0, use `StrutsResultFactory` instead.
  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor since 6.7.0, use `DefaultWorkflowInterceptor` instead.
  com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor since 6.7.0, use `ExceptionMappingInterceptor` instead.
  org.apache.struts2.interceptor.FileUploadInterceptor since Struts 6.4.0, use `ActionFileUploadInterceptor` instead
  com.opensymphony.xwork2.interceptor.LoggingInterceptor since 6.7.0, use `LoggingInterceptor` instead.
  com.opensymphony.xwork2.interceptor.MethodFilterInterceptor since 6.7.0, use `MethodFilterInterceptor` instead.
  com.opensymphony.xwork2.interceptor.MethodFilterInterceptorUtil since 6.7.0, use `MethodFilterInterceptorUtil` instead.
  com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor since 6.7.0, use `ModelDrivenInterceptor` instead.
  com.opensymphony.xwork2.ognl.OgnlReflectionContextFactory since 6.8.0, to be removed, see `ReflectionContextFactory`
  com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor since 6.4.0, use `ParametersInterceptor`.
  com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor since 6.7.0, use `ParameterRemoverInterceptor` instead.
  com.opensymphony.xwork2.interceptor.ParametersInterceptor since 6.4.0, use `ParametersInterceptor`.
  com.opensymphony.xwork2.interceptor.PrepareInterceptor since 6.7.0, use `PrepareInterceptor` instead.
  com.opensymphony.xwork2.util.reflection.ReflectionProviderFactory inject RefectionProvider directly
  com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor since 6.7.0, use `ScopedModelDrivenInterceptor` instead.
  com.opensymphony.xwork2.interceptor.StaticParametersInterceptor since 6.7.0, use `StaticParametersInterceptor` instead.
  com.opensymphony.xwork2.inject.util.Strings

- Deprecated Annotation Types
  Annotation Type and Description
  com.opensymphony.xwork2.interceptor.annotations.Allowed since 6.6.0, use `StrutsParameter`.
  com.opensymphony.xwork2.interceptor.annotations.BlockByDefault since 6.6.0, use `struts.parameters.requireAnnotations=true` to block all parameters globally.
  com.opensymphony.xwork2.interceptor.annotations.Blocked since 6.6.0, use `struts.parameters.requireAnnotations=true` to block all parameters globally.

- Deprecated Fields
  Field and Description
  org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.excludedPatterns since 6.4.0, use `Dispatcher.getActionExcludedPatterns()` or `PrepareOperations.isUrlExcluded(HttpServletRequest)` instead.
  org.apache.struts2.dispatcher.filter.StrutsPrepareFilter.excludedPatterns since 6.4.0, use `Dispatcher.getActionExcludedPatterns()` or `PrepareOperations.isUrlExcluded(HttpServletRequest)` instead.
  org.apache.struts2.views.freemarker.FreemarkerManager.KEY_HASHMODEL_PRIVATE since Struts 6.5.0, do not use as it will be removed in Struts 7.0.0
  org.apache.struts2.views.freemarker.FreemarkerManager.KEY_INCLUDE since Struts 6.5.0, do not use as it will be removed in Struts 7.0.0
  org.apache.struts2.views.freemarker.FreemarkerManager.KEY_REQUEST_PARAMETERS since Struts 6.5.0, do not use as it will be removed in Struts 7.0.0
  org.apache.struts2.views.freemarker.FreemarkerManager.KEY_REQUEST_PRIVATE since Struts 6.5.0, do not use as it will be removed in Struts 7.0.0
  org.apache.struts2.components.Component.parameters use `Component.getAttributes()` instead of directly depending on this field
  org.apache.struts2.StrutsConstants.STRUTS_ENABLE_OGNL_EVAL_EXPRESSION as of 6.0.0. Use `StrutsConstants.STRUTS_OGNL_ENABLE_EVAL_EXPRESSION` instead.
  org.apache.struts2.StrutsConstants.STRUTS_ENABLE_OGNL_EXPRESSION_CACHE as of 6.0.0. Use `StrutsConstants.STRUTS_OGNL_ENABLE_EXPRESSION_CACHE` instead.
  org.apache.struts2.StrutsConstants.STRUTS_LOG_MISSING_PROPERTIES as of 6.0.0. Use `StrutsConstants.STRUTS_OGNL_LOG_MISSING_PROPERTIES` instead.
  org.apache.struts2.StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_ENABLE_AOP_SUPPORT
  org.apache.struts2.StrutsConstants.STRUTS_OGNL_BEANINFO_CACHE_LRU_MODE since 6.4.0, use `StrutsConstants.STRUTS_OGNL_BEANINFO_CACHE_TYPE` instead.
  org.apache.struts2.StrutsConstants.STRUTS_OGNL_EXPRESSION_CACHE_LRU_MODE since 6.4.0, use `StrutsConstants.STRUTS_OGNL_EXPRESSION_CACHE_TYPE` instead.
  com.opensymphony.xwork2.conversion.TypeConverter.TYPE_CONVERTER_CONTEXT_KEY

- Deprecated Methods
  Method and Description
  org.apache.struts2.interceptor.parameter.ParametersInterceptor.acceptableName(String) since 6.4.0, use `ParametersInterceptor.isAcceptableName(java.lang.String)`
  org.apache.struts2.interceptor.parameter.ParametersInterceptor.acceptableValue(String, String) since 6.4.0, use `ParametersInterceptor.isAcceptableValue(java.lang.String, java.lang.String)`
  com.opensymphony.xwork2.config.providers.XmlDocConfigurationProvider.buildExceptionMappings(Element, PackageConfig.Builder) since 6.2.0, use `XmlDocConfigurationProvider.buildExceptionMappings(Element)`
  org.apache.struts2.dispatcher.InitOperations.buildExcludedPatternsList(Dispatcher) since 6.4.0, use `Dispatcher.getActionExcludedPatterns()` instead.
  org.apache.struts2.dispatcher.HttpParameters.Builder.buildNoNestedWrapping() since 6.4.0, use `HttpParameters.Builder.build()` instead
  com.opensymphony.xwork2.ognl.OgnlCacheFactory.buildOgnlCache(int, int, float, boolean) since 6.4.0, use `OgnlCacheFactory.buildOgnlCache(int, int, float, CacheType)`
  com.opensymphony.xwork2.inject.util.Strings.capitalize(String)
  org.apache.struts2.ognl.ProviderAllowlist.clearAllowlist(ConfigurationProvider) since 6.6.0, use `ProviderAllowlist.clearAllowlist(Object)`
  com.opensymphony.xwork2.util.StrutsLocalizedTextProvider.clearDefaultResourceBundles() used only in tests
  com.opensymphony.xwork2.ognl.OgnlValueStackFactory.containerAllowsStaticFieldAccess() since 6.4.0, no replacement.
  org.apache.struts2.interceptor.csp.DefaultCspSettings.createPolicyFormat(HttpServletRequest) since 6.8.0, for removal
  org.apache.struts2.dispatcher.Dispatcher.createStrutsXmlConfigurationProvider(String, boolean, ServletContext) since 6.2.0, use `Dispatcher.createStrutsXmlConfigurationProvider(String, ServletContext)`
  org.apache.struts2.result.StrutsResultSupport.doExecute(String, ActionInvocation) since 6.7.0, override `StrutsResultSupport.doExecute(String, org.apache.struts2.ActionInvocation)` instead.
  org.apache.struts2.ServletActionContext.getContext() Use `ServletActionContext.getActionContext()` instead
  com.opensymphony.xwork2.ognl.OgnlUtil.getExcludedClasses() since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.getExcludedPackageExemptClasses() since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.getExcludedPackageNamePatterns() since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.getExcludedPackageNames() since 6.4.0, no replacement.
  org.apache.struts2.interceptor.csp.DefaultCspSettings.getNonceString(HttpServletRequest) since 6.8.0, for removal
  org.apache.struts2.components.Component.getParameters() since 6.7.0, use `Component.getAttributes()` instead
  com.opensymphony.xwork2.ognl.OgnlCacheFactory.getUseLRUCache() since 6.4.0
  org.apache.struts2.interceptor.parameter.ParametersInterceptor.hasValidAnnotatedPropertyDescriptor(PropertyDescriptor, long) since 6.5.0, use `ParametersInterceptor.hasValidAnnotatedPropertyDescriptor(Object, PropertyDescriptor, long)` instead.
  com.opensymphony.xwork2.ognl.OgnlUtil.isDisallowDefaultPackageAccess() since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.isDisallowProxyMemberAccess() since 6.4.0, no replacement.
  org.apache.struts2.dispatcher.PrepareOperations.isUrlExcluded(HttpServletRequest, List<Pattern>) since 6.4.0, use `PrepareOperations.isUrlExcluded(HttpServletRequest)` instead.
  com.opensymphony.xwork2.util.StrutsLocalizedTextProvider.localeFromString(String, Locale) please use `LocaleUtils.toLocale(String)`
  org.apache.struts2.url.QueryStringParser.parse(String, boolean) since Struts 6.2.0, use `QueryStringParser.parse(String)` instead
  org.apache.struts2.ognl.ProviderAllowlist.registerAllowlist(ConfigurationProvider, Set<Class<?>>) since 6.6.0, use `ProviderAllowlist.registerAllowlist(Object, Set)`
  com.opensymphony.xwork2.ognl.OgnlUtil.setAllowStaticFieldAccess(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setBeanInfoCacheMaxSize(String) since 6.4.0, changing maximum cache size after initialisation is not necessary.
  com.opensymphony.xwork2.ognl.DefaultOgnlCacheFactory.setCacheMaxSize(String) since 6.4.0
  org.apache.struts2.views.jsp.ui.AbstractUITag.setClass(String) Use `AbstractUITag.setCssClass(String)` instead
  org.apache.struts2.interceptor.CookiesAware.setCookiesMap(Map<String, String>) please use `CookiesAware.withCookies(Map)` instead
  com.opensymphony.xwork2.ognl.OgnlUtil.setDevModeExcludedClasses(String) since 6.5.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setDevModeExcludedPackageExemptClasses(String) since 6.5.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setDevModeExcludedPackageNamePatterns(String) since 6.5.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setDevModeExcludedPackageNames(String) since 6.5.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setDisallowDefaultPackageAccess(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setDisallowProxyMemberAccess(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setExcludedClasses(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setExcludedPackageExemptClasses(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setExcludedPackageNamePatterns(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setExcludedPackageNames(String) since 6.4.0, no replacement.
  com.opensymphony.xwork2.ognl.OgnlUtil.setExpressionCacheMaxSize(String) since 6.4.0, changing maximum cache size after initialisation is not necessary.
  org.apache.struts2.dispatcher.Dispatcher.setMultipartHandler(String) since 6.4.0, no replacement.
  org.apache.struts2.interceptor.parameter.ParametersInterceptor.setParameters(Object, ValueStack, HttpParameters) since 6.4.0, use `ParametersInterceptor.applyParameters(java.lang.Object, com.opensymphony.xwork2.util.ValueStack, org.apache.struts2.dispatcher.HttpParameters)`
  com.opensymphony.xwork2.ognl.OgnlValueStack.setRoot(XWorkConverter, CompoundRootAccessor, CompoundRoot, boolean) since 6.4.0, use `OgnlValueStack.setRoot(XWorkConverter, RootAccessor, CompoundRoot, SecurityMemberAccess)` instead.
  com.opensymphony.xwork2.ognl.DefaultOgnlCacheFactory.setUseLRUCache(String) since 6.4.0
  com.opensymphony.xwork2.ognl.OgnlValueStack.setXWorkConverter(XWorkConverter) since 6.4.0, no replacement.
  com.opensymphony.xwork2.config.providers.XmlDocConfigurationProvider.verifyAction(String, String, Location) since 6.2.0, use `XmlDocConfigurationProvider.verifyAction(String, Location)`

- Deprecated Constructors
  Constructor and Description
  com.opensymphony.xwork2.config.impl.AbstractMatcher(PatternMatcher<?>) use @{link `AbstractMatcher(PatternMatcher, boolean)` instead
  com.opensymphony.xwork2.ognl.DefaultOgnlBeanInfoCacheFactory() since 6.4.0, use `DefaultOgnlBeanInfoCacheFactory(String, String)`
  com.opensymphony.xwork2.ognl.DefaultOgnlCacheFactory() since 6.4.0, use `#DefaultOgnlCacheFactory(int, CacheType)`
  com.opensymphony.xwork2.ognl.DefaultOgnlExpressionCacheFactory() since 6.4.0, use `DefaultOgnlExpressionCacheFactory(String, String)`
  com.opensymphony.xwork2.validator.DelegatingValidatorContext(Class) will be removed, do not use!
  com.opensymphony.xwork2.ognl.OgnlUtil() since 6.0.0. Use {@link #OgnlUtil(ExpressionCacheFactory, BeanInfoCacheFactory, OgnlGuard) instead.
  com.opensymphony.xwork2.ognl.OgnlValueStack(ValueStack, XWorkConverter, CompoundRootAccessor, boolean) since 6.4.0, use `OgnlValueStack(ValueStack, XWorkConverter, RootAccessor, SecurityMemberAccess)` instead.
  com.opensymphony.xwork2.ognl.OgnlValueStack(ValueStack, XWorkConverter, CompoundRootAccessor, TextProvider, boolean) since 6.4.0, use `OgnlValueStack(ValueStack, XWorkConverter, RootAccessor, TextProvider, SecurityMemberAccess)` instead.
  com.opensymphony.xwork2.ognl.OgnlValueStack(XWorkConverter, CompoundRootAccessor, TextProvider, boolean) since 6.4.0, use `OgnlValueStack(XWorkConverter, RootAccessor, TextProvider, SecurityMemberAccess)` instead.
  com.opensymphony.xwork2.ognl.SecurityMemberAccess(boolean) since 6.4.0, use `SecurityMemberAccess(ProviderAllowlist, ThreadAllowlist)` instead.
  org.apache.struts2.dispatcher.multipart.StrutsUploadedFile(File) since Struts 6.4.0
  org.apache.struts2.config.StrutsXmlConfigurationProvider(boolean)
  org.apache.struts2.config.StrutsXmlConfigurationProvider(String, boolean, ServletContext) since 6.2.0, use `StrutsXmlConfigurationProvider(String, ServletContext)`
  com.opensymphony.xwork2.config.providers.XmlConfigurationProvider(String, boolean) since 6.2.0, use `XmlConfigurationProvider(String)`

Copyright © 2000–2025 Apache Software Foundation. All rights reserved.