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 38b710389..ed5094198 100644 --- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java +++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java @@ -87,7 +87,7 @@ public abstract class ListUIBean extends UIBean { value = list; } - if (value instanceof Iterable) { + if (value == null || value instanceof Iterable) { addParameter("list", value); } else if (MakeIterator.isIterable(value)) { addParameter("list", MakeIterator.convert(value)); diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java index 506bad30f..d82a6606e 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java @@ -236,9 +236,11 @@ public class FreemarkerResultMockedTest extends StrutsInternalTestCase { dispatcher.serviceAction(request, response, mapping); String result = stringWriter.toString(); assertTrue(result.contains("")); + assertTrue(result.contains("")); assertTrue(result.contains("")); assertTrue(result.contains("")); assertTrue(result.contains("")); + assertTrue(result.contains("")); } private void init() throws MalformedURLException, URISyntaxException { diff --git a/core/src/test/resources/org/apache/struts2/views/freemarker/select.ftl b/core/src/test/resources/org/apache/struts2/views/freemarker/select.ftl index 905053917..91b84db2f 100644 --- a/core/src/test/resources/org/apache/struts2/views/freemarker/select.ftl +++ b/core/src/test/resources/org/apache/struts2/views/freemarker/select.ftl @@ -19,8 +19,10 @@ */ --> <@s.select theme="simple" list=['a','b','c'] /> +<@s.select theme="simple" list=1 /> <@s.select theme="simple" list={'key':'value'} /> <@s.select theme="simple"> <@s.optgroup label="label1" list={'optgroupKey1':'optgroupValue1','optgroupKey2':'optgroupValue2'} /> <@s.optgroup label="label2" disabled=true list=['optgroupKey3','optgroupKey4'] /> +<@s.optgroup label="label3" disabled=true list=2 /> \ No newline at end of file