diff options
4 files changed, 20 insertions, 0 deletions
diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 62fe8d1a..f1f3b6fb 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -27,6 +27,9 @@ <body> <release version="2.1" date="In subversion"> <action type="fix" dev="cbrisson"> + Rendering of arrays should display their content, as for lists. + </action> + <action type="fix" dev="cbrisson"> Enhance space gobbling ("lines" mode): do not eat ending newline when directive doesn't start after a newline. </action> <action type="fix" dev="cbrisson"> diff --git a/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java b/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java index 444669e5..da755197 100644 --- a/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java +++ b/velocity-engine-core/src/main/java/org/apache/velocity/util/DuckType.java @@ -94,6 +94,20 @@ public class DuckType { return (String)value; } + if (coerceType && value.getClass().isArray()) + { + // nicify arrays string representation + StringBuilder builder = new StringBuilder(); + builder.append('['); + int len = Array.getLength(value); + for (int i = 0; i < len; ++i) + { + if (i > 0) builder.append(", "); + builder.append(asString(Array.get(value, i))); + } + builder.append(']'); + return builder.toString(); + } Object got = get(value, Types.STRING); if (got == NO_METHOD) { diff --git a/velocity-engine-core/src/test/resources/templates/compare/string.cmp b/velocity-engine-core/src/test/resources/templates/compare/string.cmp index a59e1eee..ff1d5652 100644 --- a/velocity-engine-core/src/test/resources/templates/compare/string.cmp +++ b/velocity-engine-core/src/test/resources/templates/compare/string.cmp @@ -27,3 +27,4 @@ R R O O C K K S R R OOOOO CCCCC K K SSSS +[10, 20, 30, 40, 50] diff --git a/velocity-engine-core/src/test/resources/templates/string.vm b/velocity-engine-core/src/test/resources/templates/string.vm index c0bdac01..cf95b5ba 100644 --- a/velocity-engine-core/src/test/resources/templates/string.vm +++ b/velocity-engine-core/src/test/resources/templates/string.vm @@ -47,3 +47,5 @@ R R OOOOO CCCCC K K SSSS ) $shape +## test array to string +$intarr |