From 770e4ed81c6a2f8bbf80eb6ceb4ba2aa52009001 Mon Sep 17 00:00:00 2001 From: Yasser Zamani Date: Fri, 16 Mar 2018 13:43:55 +0330 Subject: [PATCH] convert supplied value to list when isn't iterable when user supply a not iterable value for list in ListUIBean, then convert it to a single member list (instead of a null value as before versions do) --- .../java/org/apache/struts2/components/ListUIBean.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 ab8e6037e..38b710389 100644 --- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java +++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java @@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Array; import java.util.Collection; +import java.util.Collections; import java.util.Map; /** @@ -86,10 +87,12 @@ public abstract class ListUIBean extends UIBean { value = list; } - if (value instanceof Iterable || !MakeIterator.isIterable(value)) { + if (value instanceof Iterable) { addParameter("list", value); - } else { + } else if (MakeIterator.isIterable(value)) { addParameter("list", MakeIterator.convert(value)); + } else { + addParameter("list", Collections.singletonList(value)); } if (value instanceof Collection) {