mirror of
https://github.com/apache/struts.git
synced 2026-08-06 15:17:00 +00:00
7ce27107e2
* WW-5668 Add remove(key) to the OgnlCache abstraction Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * WW-5668 Bound the localized-text provider caches with configurable size Converts bundlesMap, messageFormats and missingBundles to the existing OgnlCache abstraction, configurable via struts.i18n.cacheType and struts.i18n.cacheMaxSize (wtlfu / 10000 by default). The caches are kept transient and rebuilt in readObject so the providers stay serializable, and bundlesMap-related synchronization moves to a dedicated monitor since the field is now reassignable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * WW-5668 Add opt-in request-locale resolution consistency to Dispatcher Adds struts.locale.validateRequestLocale (default false) so request-derived locales can be restricted to the JVM's available-locale set, matching what I18nInterceptor already applies to its own locale sources. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * WW-5668 Keep the localized-text providers deserializable across a version upgrade Pins serialVersionUID to the value implicitly computed for the pre-6.11.0 class shape instead of 1L, so a session serialized by a 6.10.0 node still loads on a 6.11.0 one during a rolling upgrade rather than failing with InvalidClassException. Such a stream carries no value for the new cache settings, and field initialisers do not run during deserialization, so readObject restores their defaults before rebuilding the caches - without that guard it failed with a NullPointerException. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Struts 2 Core
This is a core of the Apache Struts framework and all other modules depend on it. It requires Java 8 at minimum and a Servlet container supporting Java Servlet API 3.1 at least.
Installation
Just drop this plugin into WEB-INF/lib folder or add it as Maven dependency