我正在尝试在JSP中显示对象列表。由于GSON,该列表是从Java数组到Javascript数组的转换。该算法是:
问题是当我循环JS数组时,它无法将JS数组的元素识别为对象:
问题是当我循环JS数组并打印其元素时,我得到了第一个图像的字符!这意味着GSON不会将Array转换为对象,而是转换为字符串数组。
如何确保GSON实际上将JAVA对象数组转换为JS对象数组?
我的课程“ Activite”:
public class Activite {
private int id;
private String description;
}
Servlet端:
ArrayList<Activite> listActivite = new ArrayList<Activite>();
// ... Fill array from database ...
String jsonActivite = new Gson().toJson(listActivite);
request.setAttribute( "listActivite", listActivite );
requestDispatcher.include(request, response);
JSP端:
<!-- Load Array List -->
<script>
var listActivite = <%= new Gson().fromJson((String)request.getAttribute("jsonActivite"))%>;
</script>
<p id="demo"><p>
<!-- Print the Array List's objects in the paragraph <p> -->
<script>
var p = document.getElementById("demo");
document.getElementById("demo").innerHTML+=listActivite+"</br></br>";
for(i=0; i<listActivite.length; i++){
p.innerHTML += 'ID:'+listActivite[i].id+' DESC:'+listActivite[i].description+'</br>';
}
</script>
正如问题注释中的用户Pointy所说,答案是不解析JSP中的request属性。
var listActivite = <%= request.getAttribute("jsonActivite")%>;
listActivite现在是普通的JS对象数组。
谢谢Pointy。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句