diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java index c388ee96b..fc85d54dd 100644 --- a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java +++ b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java @@ -744,7 +744,11 @@ public class PackageBasedActionConfigBuilder implements ActionConfigBuilder { if (annotation == null) { return Collections.emptySet(); } else { - return TextParseUtil.commaDelimitedStringToSet(annotation.value()); + Set methods = new HashSet<>(); + for (String method : annotation.value()) { + methods.add(method); + } + return methods; } } diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/annotation/AllowedMethods.java b/plugins/convention/src/main/java/org/apache/struts2/convention/annotation/AllowedMethods.java index 8e3c9abcd..a21ae924c 100644 --- a/plugins/convention/src/main/java/org/apache/struts2/convention/annotation/AllowedMethods.java +++ b/plugins/convention/src/main/java/org/apache/struts2/convention/annotation/AllowedMethods.java @@ -25,6 +25,6 @@ import java.lang.annotation.Target; @Retention(value = RetentionPolicy.RUNTIME) public @interface AllowedMethods { - String value() default ActionConfig.DEFAULT_METHOD; + String[] value() default ActionConfig.DEFAULT_METHOD; } diff --git a/plugins/convention/src/test/java/org/apache/struts2/convention/actions/allowedmethods/package-info.java b/plugins/convention/src/test/java/org/apache/struts2/convention/actions/allowedmethods/package-info.java index 461131f7c..745a1a6f6 100644 --- a/plugins/convention/src/test/java/org/apache/struts2/convention/actions/allowedmethods/package-info.java +++ b/plugins/convention/src/test/java/org/apache/struts2/convention/actions/allowedmethods/package-info.java @@ -18,6 +18,6 @@ * specific language governing permissions and limitations * under the License. */ -@org.apache.struts2.convention.annotation.AllowedMethods("home,start") +@org.apache.struts2.convention.annotation.AllowedMethods({"home", "start"}) package org.apache.struts2.convention.actions.allowedmethods;