当前位置:编程学习 > JAVA >>

求助: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 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,