求助:struts2+json 循环获取导致失败?
目前我正在学习STRUTS2+JSON,action 控制层代码部分:
public void setDepartments(List<Department> departments)
{
this.departments=departments;
}
public List<Department> getDepartments()
{
return this.departments;
}
@Action(value = "depJson", results = { @Result(name = "depjsonlist", type = "json") }, params={"root","departments"})
public String returnDepJson()
{
departments=departmentService.findByParentId(0);//得到一个集合类
return "depjsonlist";
}
前台页
//初始加载页面时
$(document).ready(function(){
//为获取List对象按钮添加鼠标单击事件
$("#jsonDepList").click(function(){
$.getJSON("depJson!returnDepJson.action",function(data){
//清空显示层中的数据
$("#jsonDiv").html("");
//使用jQuery中的each(data,function(){});函数
//从data.获取dep对象放入value之中
$.each(data.departments,function(i,value){
$("#jsonDiv").append("<div>第"+(i+1)+"个用户:</div>")
.append("<div><font color='red'>用户ID:"+value.depName+"</font></div>");
});
});
});
});
以上是页面代码,获取departments数据。
注明:department 和 user 表是manytoone ,user和 department 是onetomany, user 表与 role,表之间也是manytoone ,这些已经在实体类中配置好了。
以下是错误片段:
DEBUG JSONWriter - Cyclic reference detected on com.hbes.szcg.modules.role.entity.Role@899e53
2013-08-07 10:21:40,888 [http-apr-8888-exec-22] DEBUG ConnectionManager - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
Exception in thread "http-apr-8888-exec-22" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:511)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:334)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130)
at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) --------------------编程问答-------------------- 请大家帮助我看哈,到底是什么原因??? --------------------编程问答-------------------- 没有搞懂。郁闷呀。
补充:Java , Web 开发