diff -r 28aae214c202 -r 1e2b0dcc8326 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Sun Apr 07 19:29:55 2013 +0200 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Sun Apr 07 21:41:57 2013 +0200 @@ -199,8 +199,13 @@ w.append(" this.prop_").append(pn).append(".add(new "); w.append(type).append("(e));\n"); } else { - w.append(" this.prop_").append(pn).append(".add(("); - w.append(type).append(")e);\n"); + if (isPrimitive(type)) { + w.append(" this.prop_").append(pn).append(".add(((Number)e)."); + w.append(type).append("Value());\n"); + } else { + w.append(" this.prop_").append(pn).append(".add(("); + w.append(type).append(")e);\n"); + } } w.append(" }\n"); w.append("}\n"); @@ -1057,4 +1062,14 @@ } return null; } + + private boolean isPrimitive(String type) { + return + "int".equals(type) || + "double".equals(type) || + "long".equals(type) || + "short".equals(type) || + "byte".equals(type) || + "float".equals(type); + } }