This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch WW-5256-textarea-whitespace-devmode in repository https://gitbox.apache.org/repos/asf/struts.git
commit 0380544b1545c91a3a1bde58d4e565c47f68cf32 Author: Lukasz Lenart <[email protected]> AuthorDate: Mon Jun 15 10:48:33 2026 +0200 WW-5256 fix(freemarker): honor whitespaceStripping regardless of devMode --- .../views/freemarker/FreemarkerManager.java | 11 +----- .../views/freemarker/FreemarkerManagerTest.java | 44 ---------------------- 2 files changed, 2 insertions(+), 53 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java index dcbebc767..e6432d337 100644 --- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java +++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java @@ -177,7 +177,6 @@ public class FreemarkerManager { protected int mruMaxStrongSize; protected String templateUpdateDelay; protected boolean whitespaceStripping = true; - protected boolean devMode; protected Map<String, TagLibraryModelProvider> tagLibraries; private FileManager fileManager; @@ -213,11 +212,6 @@ public class FreemarkerManager { this.whitespaceStripping = BooleanUtils.toBoolean(whitespaceStripping); } - @Inject(value = StrutsConstants.STRUTS_DEVMODE, required = false) - public void setDevMode(String devMode) { - this.devMode = BooleanUtils.toBoolean(devMode); - } - @Inject public void setContainer(Container container) { Map<String, TagLibraryModelProvider> map = new HashMap<>(); @@ -352,9 +346,8 @@ public class FreemarkerManager { } LOG.debug("Disabled localized lookups"); configuration.setLocalizedLookup(false); - boolean enableWhitespaceStripping = whitespaceStripping && !devMode; - LOG.debug("Whitespace stripping: {} (configured: {}, devMode: {})", enableWhitespaceStripping, whitespaceStripping, devMode); - configuration.setWhitespaceStripping(enableWhitespaceStripping); + LOG.debug("Whitespace stripping: {}", whitespaceStripping); + configuration.setWhitespaceStripping(whitespaceStripping); LOG.debug("Sets NewBuiltinClassResolver to TemplateClassResolver.SAFER_RESOLVER"); configuration.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER); LOG.debug("Sets HTML as an output format and escaping policy"); diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java index 7c072cd06..8abfafc19 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java @@ -131,7 +131,6 @@ public class FreemarkerManagerTest extends StrutsInternalTestCase { FreemarkerManager manager = new FreemarkerManager(); container.inject(manager); manager.setWhitespaceStripping("false"); - manager.setDevMode("false"); // when manager.init(servletContext); @@ -139,49 +138,6 @@ public class FreemarkerManagerTest extends StrutsInternalTestCase { // then assertFalse(manager.config.getWhitespaceStripping()); } - - public void testWhitespaceStrippingDisabledInDevMode() throws Exception { - // given - FreemarkerManager manager = new FreemarkerManager(); - container.inject(manager); - manager.setWhitespaceStripping("true"); - manager.setDevMode("true"); - - // when - manager.init(servletContext); - - // then - assertFalse(manager.config.getWhitespaceStripping()); - } - - public void testWhitespaceStrippingEnabledWhenNotInDevMode() throws Exception { - // given - FreemarkerManager manager = new FreemarkerManager(); - container.inject(manager); - manager.setWhitespaceStripping("true"); - manager.setDevMode("false"); - - // when - manager.init(servletContext); - - // then - assertTrue(manager.config.getWhitespaceStripping()); - } - - // TEMP (WW-5256): documents the pre-fix bug; removed in the same change that removes the devMode coupling. - public void testWhitespaceStrippingNotDisabledInDevMode() throws Exception { - // given - FreemarkerManager manager = new FreemarkerManager(); - container.inject(manager); - manager.setWhitespaceStripping("true"); - manager.setDevMode("true"); - - // when - manager.init(servletContext); - - // then - assertTrue(manager.config.getWhitespaceStripping()); - } } class DummyFreemarkerManager extends FreemarkerManager {
