无法访问JavaScript中的Java变量

哈夫萨·阿卜杜勒·加福尔

我试图访问一个Java变量,该变量在javascript中保存Json数据,但没有获取数据,而是从html源获取以下信息。

Java的

 Gson gson = new Gson();
 String json = gson.toJson(obj);
 request.setAttribute("gsonData", gson);

javascript:

var dataset = ${gsonData};

html页面源中的数据:

var dataset = {serializeNulls:falsefactories:[Factory[type=com.google.gson.JsonElement,
adapter=com.google.gson.internal.bind.TypeAdapters$25@719474],
com.google.gson.internal.bind.ObjectTypeAdapter$1@31d22,
 Factory[type=java.lang.String,
adapter=com.google.gson.internal.bind.TypeAdapters$13@1aacfcf],
 Factory[type=java.lang.Integer+int,
adapter=com.google.gson.internal.bind.TypeAdapters$7@977b2d],
 Factory[type=java.lang.Boolean+boolean,
adapter=com.google.gson.internal.bind.TypeAdapters$3@b18cbf],
 Factory[type=java.lang.Byte+byte,
adapter=com.google.gson.internal.bind.TypeAdapters$5@7964c6],
 Factory[type=java.lang.Short+short,
adapter=com.google.gson.internal.bind.TypeAdapters$6@1ec0cb1],
 Factory[type=java.lang.Long+long,
adapter=com.google.gson.internal.bind.TypeAdapters$8@9752b2],
 Factory[type=java.lang.Double+double,
adapter=com.google.gson.Gson$4@992d41],
 Factory[type=java.lang.Float+float,
adapter=com.google.gson.Gson$5@fedab9],
 Factory[type=java.lang.Number,
adapter=com.google.gson.internal.bind.TypeAdapters$11@89e335],
 Factory[type=java.lang.Character+char,
adapter=com.google.gson.internal.bind.TypeAdapters$12@1d2554],
 Factory[type=java.lang.StringBuilder,
adapter=com.google.gson.internal.bind.TypeAdapters$16@16294d3],
 Factory[type=java.lang.StringBuffer,
adapter=com.google.gson.internal.bind.TypeAdapters$17@1a4510f],
 Factory[type=java.math.BigDecimal,
adapter=com.google.gson.internal.bind.TypeAdapters$14@4b80c5],
 Factory[type=java.math.BigInteger,
adapter=com.google.gson.internal.bind.TypeAdapters$15@133375d],
 Factory[type=java.net.URL,
adapter=com.google.gson.internal.bind.TypeAdapters$18@30f324],
 Factory[type=java.net.URI,
adapter=com.google.gson.internal.bind.TypeAdapters$19@16be244],
 Factory[type=java.util.UUID,
adapter=com.google.gson.internal.bind.TypeAdapters$21@1501d84],
 Factory[type=java.util.Locale,
adapter=com.google.gson.internal.bind.TypeAdapters$24@1255f6c],
 Factory[typeHierarchy=java.net.InetAddress,
adapter=com.google.gson.internal.bind.TypeAdapters$20@a92e7f],
 Factory[type=java.util.BitSet,
adapter=com.google.gson.internal.bind.TypeAdapters$2@5a9aac],
 com.google.gson.internal.bind.DateTypeAdapter$1@1c5051e,
 Factory[type=java.util.Calendar+java.util.GregorianCalendar,
adapter=com.google.gson.internal.bind.TypeAdapters$23@6efe35],
 com.google.gson.internal.bind.TimeTypeAdapter$1@187e651,
 com.google.gson.internal.bind.SqlDateTypeAdapter$1@12c81b7,
 com.google.gson.internal.bind.TypeAdapters$22@3a8f79,
 com.google.gson.internal.bind.ArrayTypeAdapter$1@1744f5d,
 com.google.gson.internal.bind.TypeAdapters$26@16b870c,
 Factory[type=java.lang.Class,
adapter=com.google.gson.internal.bind.TypeAdapters$1@9f99af],
 com.google.gson.internal.Excluder@408302,
 com.google.gson.internal.bind.CollectionTypeAdapterFactory@c22e44,
 com.google.gson.internal.bind.MapTypeAdapterFactory@446bcc,
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory@1d8ae60],
instanceCreators:{}};

什么是访问数据的正确方法?

盖尔·J

你写了 :

request.setAttribute("gsonData", gson);

但是,您是否不想要更多:

request.setAttribute("jsonData", json);

即把内容obj而不是GSon对象?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章