Lukasz Lenart created WW-5714:
---------------------------------
Summary: Remove the deprecated Tiles OGNL attribute evaluator and
its legacy opt-in flag
Key: WW-5714
URL: https://issues.apache.org/jira/browse/WW-5714
Project: Struts 2
Issue Type: Task
Components: Plugin - Tiles
Reporter: Lukasz Lenart
Fix For: 8.0.0
Removal half of WW-5713.
WW-5713 deprecates the vendored
{{org.apache.tiles.ognl.OGNLAttributeEvaluator}} in the Tiles plugin and makes
the {{OGNL:}} expression language fail closed by default, with
{{struts.tiles.ognl.legacy.enabled}} as an opt-in escape hatch restoring the
legacy raw evaluator. The escape hatch is deliberately temporary: it needs a
visible end date, or it becomes permanent.
This ticket removes it in 8.0.0:
* delete the vendored {{org.apache.tiles.ognl.OGNLAttributeEvaluator}}
* remove the {{struts.tiles.ognl.legacy.enabled}} constant and the plumbing
that reads it
* remove the {{OGNL:}} language registration in
{{StrutsTilesContainerFactory}}, along with any disabled-evaluator placeholder
introduced by WW-5713
{{S2:}}, {{I18N:}} and {{EL:}} are unaffected. {{S2:}} remains the supported
way to evaluate an expression against the value stack, and it is what the
WW-5713 migration message already points users at.
Note when doing the removal: unregistering a language is not the same as
removing support for it. {{BasicAttributeEvaluatorFactory}} is constructed with
{{DirectAttributeEvaluator}} as its default, so an unregistered {{OGNL:}}
prefix does not fail — the expression falls through and renders as literal page
text. Whatever replaces the registration must keep failing loudly rather than
silently rendering.
Same deprecate-then-remove shape as WW-5707 / WW-5708 for the legacy restful
action mappers.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)