diff --git a/apps/pom.xml b/apps/pom.xml
index f400706cc..433ed6772 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-apps
pom
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index 669a3a838..d5c309323 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -24,12 +24,12 @@
org.apache.struts
struts2-apps
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-rest-showcase
war
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
Struts 2 Rest Showcase Webapp
Struts 2 Rest Showcase Example
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 7b640e775..f5ddac729 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-apps
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-showcase
diff --git a/assembly/pom.xml b/assembly/pom.xml
index f61003022..412763532 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-assembly
diff --git a/bom/pom.xml b/bom/pom.xml
index d64a70bce..1f82dca0b 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -30,7 +30,7 @@
struts2-bom
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
pom
Struts 2 Bill of Materials
@@ -45,7 +45,7 @@
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
true
true
@@ -181,7 +181,7 @@
- STRUTS_2_5_26
+ STRUTS_2_5_27
scm:git:https://gitbox.apache.org/repos/asf/struts.git
scm:git:https://gitbox.apache.org/repos/asf/struts.git
https://github.com/apache/struts/
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index 832d1c74f..7ed49c585 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-osgi-bundles
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-osgi-admin-bundle
diff --git a/bundles/demo/pom.xml b/bundles/demo/pom.xml
index 4742d0b62..284970d03 100644
--- a/bundles/demo/pom.xml
+++ b/bundles/demo/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-osgi-bundles
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-osgi-demo-bundle
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 82cbcabf9..858b05a58 100755
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-osgi-bundles
diff --git a/core/pom.xml b/core/pom.xml
index 856e5deab..f64276691 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-core
jar
diff --git a/core/src/main/java/org/apache/struts2/components/Checkbox.java b/core/src/main/java/org/apache/struts2/components/Checkbox.java
index 5b4d99839..6c6b08a34 100644
--- a/core/src/main/java/org/apache/struts2/components/Checkbox.java
+++ b/core/src/main/java/org/apache/struts2/components/Checkbox.java
@@ -91,7 +91,7 @@ public class Checkbox extends UIBean {
@Override
@StrutsTagAttribute(description="(Deprecated) Define label position of form element (top/left), also 'right' is supported when using 'xhtml' theme")
public void setLabelposition(String labelPosition) {
- super.setLabelPosition(labelPosition);
+ super.setLabelposition(labelPosition);
}
@Override
diff --git a/core/src/main/java/org/apache/struts2/components/CheckboxList.java b/core/src/main/java/org/apache/struts2/components/CheckboxList.java
index e83091888..601ce5bdf 100644
--- a/core/src/main/java/org/apache/struts2/components/CheckboxList.java
+++ b/core/src/main/java/org/apache/struts2/components/CheckboxList.java
@@ -48,7 +48,7 @@ import com.opensymphony.xwork2.util.ValueStack;
allowDynamicAttributes = true)
public class CheckboxList extends ListUIBean {
final public static String TEMPLATE = "checkboxlist";
-
+
public CheckboxList(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
super(stack, request, response);
}
@@ -56,9 +56,19 @@ public class CheckboxList extends ListUIBean {
protected String getDefaultTemplate() {
return TEMPLATE;
}
-
+
public void evaluateExtraParams() {
super.evaluateExtraParams();
}
-}
\ No newline at end of file
+ /**
+ * Checkboxlist tag requires lazy evaluation as list of tags is dynamically generated using
+ *
+ * @return boolean true by default
+ */
+ @Override
+ protected boolean lazyEvaluation() {
+ return true;
+ }
+
+}
diff --git a/core/src/main/java/org/apache/struts2/components/ListUIBean.java b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
index 6e24e822e..efa0de6b9 100644
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@ -188,7 +188,6 @@ public abstract class ListUIBean extends UIBean {
this.listTitle = listTitle;
}
-
public void setThrowExceptionOnNullValueAttribute(boolean throwExceptionOnNullValueAttribute) {
this.throwExceptionOnNullValueAttribute = throwExceptionOnNullValueAttribute;
}
diff --git a/core/src/main/java/org/apache/struts2/components/Radio.java b/core/src/main/java/org/apache/struts2/components/Radio.java
index 0315cb65b..ba5eb471f 100644
--- a/core/src/main/java/org/apache/struts2/components/Radio.java
+++ b/core/src/main/java/org/apache/struts2/components/Radio.java
@@ -57,7 +57,7 @@ import javax.servlet.http.HttpServletResponse;
allowDynamicAttributes = true)
public class Radio extends ListUIBean {
final public static String TEMPLATE = "radiomap";
-
+
public Radio(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
super(stack, request, response);
}
@@ -65,8 +65,19 @@ public class Radio extends ListUIBean {
protected String getDefaultTemplate() {
return TEMPLATE;
}
-
+
public void evaluateExtraParams() {
super.evaluateExtraParams();
}
-}
\ No newline at end of file
+
+ /**
+ * Radio tag requires lazy evaluation as list of tags is dynamically generated using
+ *
+ * @return boolean true by default
+ */
+ @Override
+ protected boolean lazyEvaluation() {
+ return true;
+ }
+
+}
diff --git a/core/src/main/java/org/apache/struts2/components/UIBean.java b/core/src/main/java/org/apache/struts2/components/UIBean.java
index 9a8ae4574..afd20a2a3 100644
--- a/core/src/main/java/org/apache/struts2/components/UIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/UIBean.java
@@ -20,7 +20,9 @@ package org.apache.struts2.components;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.ValueStack;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -30,6 +32,7 @@ import org.apache.struts2.components.template.Template;
import org.apache.struts2.components.template.TemplateEngine;
import org.apache.struts2.components.template.TemplateEngineManager;
import org.apache.struts2.components.template.TemplateRenderingContext;
+import org.apache.struts2.util.ComponentUtils;
import org.apache.struts2.util.TextProviderHelper;
import org.apache.struts2.views.annotations.StrutsTagAttribute;
import org.apache.struts2.views.util.ContextUtil;
@@ -1105,6 +1108,7 @@ public abstract class UIBean extends Component {
@StrutsTagAttribute(description="(Deprecated) Define label position of form element (top/left)")
@Deprecated
public void setLabelposition(String labelPosition) {
+ LOG.warn("\"labelposition\" attribute is deprecated, please use \"labelPosition\" instead!");
this.labelPosition = labelPosition;
}
@@ -1256,20 +1260,26 @@ public abstract class UIBean extends Component {
public void setDynamicAttributes(Map tagDynamicAttributes) {
for (Map.Entry entry : tagDynamicAttributes.entrySet()) {
- String entryKey = entry.getKey();
+ String attrName = entry.getKey();
+ String attrValue = entry.getValue();
- if (!isValidTagAttribute(entryKey)) {
- dynamicAttributes.put(entryKey, entry.getValue());
+ if (!isValidTagAttribute(attrName)) {
+ if (ComponentUtils.altSyntax(getStack()) && ComponentUtils.containsExpression(attrValue) && !lazyEvaluation()) {
+ String translated = TextParseUtil.translateVariables('%', attrValue, stack);
+ dynamicAttributes.put(attrName, ObjectUtils.defaultIfNull(translated, attrValue));
+ } else {
+ dynamicAttributes.put(attrName, attrValue);
+ }
}
}
}
- @Override
/**
* supports dynamic attributes for freemarker ui tags
- * @see https://issues.apache.org/jira/browse/WW-3174
- * @see https://issues.apache.org/jira/browse/WW-4166
+ * @see "https://issues.apache.org/jira/browse/WW-3174"
+ * @see "https://issues.apache.org/jira/browse/WW-4166"
*/
+ @Override
public void copyParams(Map params) {
super.copyParams(params);
for (Object o : params.entrySet()) {
@@ -1281,4 +1291,14 @@ public abstract class UIBean extends Component {
}
}
+ /**
+ * Used to avoid evaluating attributes in {@link #evaluateParams()} or {@link #evaluateExtraParams()}
+ * as evaluation will happen in tag's template
+ *
+ * @return boolean false if evaluation should be performed in ftl
+ */
+ protected boolean lazyEvaluation() {
+ return false;
+ }
+
}
diff --git a/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java b/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
index 2d7ebae90..35aef0a7d 100644
--- a/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
+++ b/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
@@ -148,16 +148,13 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
}
};
- LOG.debug("Puts action on the top of ValueStack, just before the tag");
- action = stack.pop();
+ LOG.debug("Push tag on top of the stack");
stack.push(templateContext.getTag());
- stack.push(action);
try {
template.process(model, writer);
} finally {
- stack.pop(); // removes action
- stack.pop(); // removes tag
- stack.push(action); // puts back action
+ LOG.debug("Removes tag from top of the stack");
+ stack.pop();
}
}
diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
index 6c4323805..c5548f70b 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
@@ -30,6 +30,7 @@ import java.util.Map;
* Abstract base class for all UI tags.
*/
public abstract class AbstractUITag extends ComponentTagSupport implements DynamicAttributes {
+
protected String cssClass;
protected String cssErrorClass;
protected String cssStyle;
@@ -38,6 +39,8 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
protected String disabled;
protected String label;
protected String labelSeparator;
+ @Deprecated
+ protected String labelposition;
protected String labelPosition;
protected String requiredPosition;
protected String errorPosition;
@@ -90,7 +93,11 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
uiBean.setDisabled(disabled);
uiBean.setLabel(label);
uiBean.setLabelSeparator(labelSeparator);
- uiBean.setLabelPosition(labelPosition);
+ if (labelposition != null && labelPosition == null) {
+ uiBean.setLabelposition(labelposition);
+ } else {
+ uiBean.setLabelPosition(labelPosition);
+ }
uiBean.setRequiredPosition(requiredPosition);
uiBean.setErrorPosition(errorPosition);
uiBean.setName(name);
@@ -176,8 +183,8 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
* @deprecated use {@link #setLabelPosition(String)} instead
*/
@Deprecated
- public void setLabelposition(String labelPosition) {
- this.labelPosition = labelPosition;
+ public void setLabelposition(String labelposition) {
+ this.labelposition = labelposition;
}
public void setLabelPosition(String labelPosition) {
diff --git a/core/src/main/resources/template/simple/checkboxlist.ftl b/core/src/main/resources/template/simple/checkboxlist.ftl
index 0018b811b..703549c4f 100644
--- a/core/src/main/resources/template/simple/checkboxlist.ftl
+++ b/core/src/main/resources/template/simple/checkboxlist.ftl
@@ -30,7 +30,7 @@
<#assign itemKeyStr = stack.findString('top')>
#if>
<#if parameters.listLabelKey??>
- <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
file for it's localized value. This is then used as a label -->
<#assign itemValue = struts.getText(stack.findString(parameters.listLabelKey))/>
<#elseif parameters.listValue??>
@@ -95,9 +95,10 @@
<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+ <#global evaluate_dynamic_attributes = true/>
<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
/>
-
+
<#if parameters.id?has_content>
for="${parameters.id?html}-${itemCount}"<#rt/>
<#else>
@@ -106,11 +107,10 @@
class="checkboxLabel">${itemValue?html}
@s.iterator>
<#else>
-
#if>
<#if parameters.disabled!false>
disabled="disabled"<#rt/>
#if>
- />
\ No newline at end of file
+ />
diff --git a/core/src/main/resources/template/simple/dynamic-attributes.ftl b/core/src/main/resources/template/simple/dynamic-attributes.ftl
index 95de4b76e..40e30f131 100644
--- a/core/src/main/resources/template/simple/dynamic-attributes.ftl
+++ b/core/src/main/resources/template/simple/dynamic-attributes.ftl
@@ -23,9 +23,13 @@
<#list aKeys as aKey><#rt/>
<#assign keyValue = parameters.dynamicAttributes.get(aKey)/>
<#if keyValue?is_string>
- <#assign value = struts.translateVariables(keyValue)!keyValue/>
+ <#if evaluate_dynamic_attributes!false == true>
+ <#assign value = struts.translateVariables(keyValue)!keyValue/><#rt/>
+ <#else>
+ <#assign value = keyValue/><#rt/>
+ #if>
<#else>
- <#assign value = keyValue?string/>
+ <#assign value = keyValue?string/><#rt/>
#if>
${aKey}="${value?html}"<#rt/>
#list><#rt/>
diff --git a/core/src/main/resources/template/simple/radiomap.ftl b/core/src/main/resources/template/simple/radiomap.ftl
index b44a0be77..0cc265c0d 100644
--- a/core/src/main/resources/template/simple/radiomap.ftl
+++ b/core/src/main/resources/template/simple/radiomap.ftl
@@ -27,7 +27,7 @@
<#assign itemKeyStr = stack.findString('top')>
#if>
<#if parameters.listValueKey??>
- <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
file for it's localized value. This is then used as a label -->
<#assign valueKey = stack.findString(parameters.listValueKey)!''/>
<#if valueKey?has_content>
@@ -94,9 +94,10 @@
<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#global evaluate_dynamic_attributes = true/>
<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
/><#rt/>
><#rt/>
${itemValue}<#t/>
-@s.iterator>
\ No newline at end of file
+@s.iterator>
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
index f1701a86d..af447612c 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
@@ -92,7 +92,7 @@ public class TextfieldTest extends AbstractUITagTest {
verify(TextFieldTag.class.getResource("Textfield-3.txt"));
}
-
+
public void testLabelSeparatorJsp() throws Exception {
TestAction testAction = (TestAction) action;
testAction.setFoo("bar");
@@ -173,13 +173,14 @@ public class TextfieldTest extends AbstractUITagTest {
tag.setValue("%{foo}");
tag.setSize("10");
tag.setDynamicAttribute(null, "anotherAttr", "%{foo}");
+ tag.setDynamicAttribute(null, "secondAttr", "second_%{foo}");
tag.doStartTag();
tag.doEndTag();
verify(TextFieldTag.class.getResource("Textfield-5.txt"));
}
-
+
public void testSimple_recursionTestNoValue() throws Exception {
TestAction testAction = (TestAction) action;
testAction.setFoo("%{1+1}");
diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-5.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-5.txt
index 281847627..5dc125c18 100644
--- a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-5.txt
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-5.txt
@@ -1,4 +1,4 @@
|
- |
+ |
diff --git a/plugins/bean-validation/pom.xml b/plugins/bean-validation/pom.xml
index f80fddf6c..48fcb5897 100644
--- a/plugins/bean-validation/pom.xml
+++ b/plugins/bean-validation/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
4.0.0
diff --git a/plugins/cdi/pom.xml b/plugins/cdi/pom.xml
index 51a27e089..6027e7efe 100644
--- a/plugins/cdi/pom.xml
+++ b/plugins/cdi/pom.xml
@@ -25,7 +25,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-cdi-plugin
diff --git a/plugins/config-browser/pom.xml b/plugins/config-browser/pom.xml
index fa9d53825..257d81a67 100644
--- a/plugins/config-browser/pom.xml
+++ b/plugins/config-browser/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-config-browser-plugin
diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml
index 3d8596e0c..22faeb4b6 100644
--- a/plugins/convention/pom.xml
+++ b/plugins/convention/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-convention-plugin
diff --git a/plugins/dwr/pom.xml b/plugins/dwr/pom.xml
index 52819aa81..1d7c27619 100644
--- a/plugins/dwr/pom.xml
+++ b/plugins/dwr/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-dwr-plugin
diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml
index d37a80b78..f5d0ac955 100644
--- a/plugins/embeddedjsp/pom.xml
+++ b/plugins/embeddedjsp/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-embeddedjsp-plugin
diff --git a/plugins/gxp/pom.xml b/plugins/gxp/pom.xml
index 81308919c..1308f3941 100644
--- a/plugins/gxp/pom.xml
+++ b/plugins/gxp/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-gxp-plugin
diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml
index 6e5e541a4..1b330ed6b 100644
--- a/plugins/jasperreports/pom.xml
+++ b/plugins/jasperreports/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-jasperreports-plugin
diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml
index 564ca635a..c3d739f33 100644
--- a/plugins/javatemplates/pom.xml
+++ b/plugins/javatemplates/pom.xml
@@ -25,7 +25,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-javatemplates-plugin
diff --git a/plugins/jfreechart/pom.xml b/plugins/jfreechart/pom.xml
index 971055ce1..70c55fbae 100644
--- a/plugins/jfreechart/pom.xml
+++ b/plugins/jfreechart/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-jfreechart-plugin
diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml
index 082a28910..03c71a2a2 100644
--- a/plugins/json/pom.xml
+++ b/plugins/json/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-json-plugin
diff --git a/plugins/junit/pom.xml b/plugins/junit/pom.xml
index 387586d33..cbcd9c3f4 100644
--- a/plugins/junit/pom.xml
+++ b/plugins/junit/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-junit-plugin
diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml
index 619b49944..adc10954e 100644
--- a/plugins/osgi/pom.xml
+++ b/plugins/osgi/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-osgi-plugin
diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml
index 048a31dad..47805f778 100644
--- a/plugins/oval/pom.xml
+++ b/plugins/oval/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-oval-plugin
diff --git a/plugins/pell-multipart/pom.xml b/plugins/pell-multipart/pom.xml
index 303fabc38..ad9203fe6 100644
--- a/plugins/pell-multipart/pom.xml
+++ b/plugins/pell-multipart/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-pell-multipart-plugin
diff --git a/plugins/plexus/pom.xml b/plugins/plexus/pom.xml
index bd75a9f54..fccfdf16e 100644
--- a/plugins/plexus/pom.xml
+++ b/plugins/plexus/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-plexus-plugin
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 75d82e5bf..da177f386 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-plugins
diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml
index 419185fca..ee69801af 100644
--- a/plugins/portlet-tiles/pom.xml
+++ b/plugins/portlet-tiles/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-portlet-tiles-plugin
diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml
index 60b01a54a..e65cd2bf8 100644
--- a/plugins/portlet/pom.xml
+++ b/plugins/portlet/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-portlet-plugin
diff --git a/plugins/rest/pom.xml b/plugins/rest/pom.xml
index 2c13a53e0..43bcee247 100644
--- a/plugins/rest/pom.xml
+++ b/plugins/rest/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-rest-plugin
diff --git a/plugins/sitegraph/pom.xml b/plugins/sitegraph/pom.xml
index 31171ce67..b61ee05ed 100644
--- a/plugins/sitegraph/pom.xml
+++ b/plugins/sitegraph/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-sitegraph-plugin
diff --git a/plugins/sitemesh/pom.xml b/plugins/sitemesh/pom.xml
index 770c37f02..c0a9cc38d 100644
--- a/plugins/sitemesh/pom.xml
+++ b/plugins/sitemesh/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-sitemesh-plugin
diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml
index b1cc58785..209221bc4 100644
--- a/plugins/spring/pom.xml
+++ b/plugins/spring/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-spring-plugin
diff --git a/plugins/testng/pom.xml b/plugins/testng/pom.xml
index f9adbe6fc..48d54ddf4 100644
--- a/plugins/testng/pom.xml
+++ b/plugins/testng/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-testng-plugin
diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml
index ee35ffc9e..c54ae6004 100644
--- a/plugins/tiles/pom.xml
+++ b/plugins/tiles/pom.xml
@@ -24,7 +24,7 @@
org.apache.struts
struts2-plugins
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
struts2-tiles-plugin
diff --git a/pom.xml b/pom.xml
index 38ab15944..72ebd6747 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
4.0.0
struts2-parent
- 2.5.27-SNAPSHOT
+ 2.5.30-SNAPSHOT
pom
Struts 2
http://struts.apache.org/
@@ -51,7 +51,7 @@
scm:git:https://gitbox.apache.org/repos/asf/struts.git
scm:git:https://gitbox.apache.org/repos/asf/struts.git
https://github.com/apache/struts/
- STRUTS_2_5_26
+ STRUTS_2_5_27
@@ -96,7 +96,7 @@
UTF-8
- 2020-11-25T16:32:09Z
+ 2022-01-13T07:48:33Z
3.1.29
@@ -104,7 +104,7 @@
7.3.1
3.0.8
1.0.7
- 2.12.1
+ 2.12.4
2.10.3