user类:

@Entity
@Table(name="c_user")
public class User {
    
 @Id
 @GeneratedValue(strategy=GenerationType.AUTO)
 private Long id;
 private String name;
 private  int age;
 @Column(length=2)
 private String sex;
 
 private String LoginName;
    private String password;
    @ManyToMany(fetch=FetchType.EAGER)
    @JoinTable(name="user_role",
    joinColumns=@JoinColumn(name="user_id",referencedColumnName="id"),
    inverseJoinColumns=@JoinColumn(name="role_id",referencedColumnName="id")
      )
    private Set<Role> roles;

Role类:

@Entity
@Table(name="role")
public class Role {
 @Id
 @GeneratedValue(strategy=GenerationType.AUTO)
 private Long id;
 private String name;
 @JSONField(serialize=false)//注意此处,是转换JSON
 @ManyToMany(fetch=FetchType.EAGER)
 @JoinTable(name="user_role",
 joinColumns=@JoinColumn(name="role_id",referencedColumnName="id"),
 inverseJoinColumns=@JoinColumn(name="user_id",referencedColumnName="id")
   )
    private Set<User> users;
  

转换JSON工具类 

public static void toBeJson(List list, int total) throws Exception{ 
        HttpServletResponse response = ServletActionContext.getResponse(); 
        HttpServletRequest request = ServletActionContext.getRequest(); 
         
       
//         List<Map<String,Object>> ObjectList = new ArrayList<Map<String,Object>>();
          Map<String,Object> map =new HashMap<String, Object>();
          map.put("total", total);
          map.put("rows", list);
//          ObjectList.add(map);
        
        System.out.println("======"+JSONObject.toJSONString(map));
//        System.out.println("+++++++++++++++"+jobj.toString());
        response.setCharacterEncoding("utf-8");
        response.getWriter().write(JSONObject.toJSONString(map,SerializerFeature.DisableCircularReferenceDetect));
//        response.getWriter().write(JSONObject.toJSONString(map));
        //log.info(jobj.toString()); 
       
    }

数据格式:{"total":3,
 "rows":[
         {"age":12,"id":1,"loginName":"123","name":"123","password":"123","role":[{"id":1,"name":"经理"}],"sex":"1"},
         {"age":12,"id":2,"loginName":"nn","name":"122","password":"12","role":[{"id":2,""name":"主管"}],"sex":"1"},
         {"age":21,"id":3,"loginName":"hj","name":"da","password":"d","role":[{"id":3,"name":"员工"}],"sex":"as"}
         ]}

========================================================

easyUI页面:

<table id="dg" title="用户信息管理" class="easyui-datagrid" style="width:1020px;height:500px"
                        data-options="toolbar:'#toolbar',pagination:true,singleSelect:true,
                        url:'user_showUser.action',pageSize:10,pageList:[ 5, 10, 15, 20 ]">
            <thead>
                <tr>
                 <th field="id" width="100" >编号</th>
                    <th field="name" width="100">姓名</th>
                    <th field="sex" width="100">性别</th>
                    <th field="age" width="100">年龄</th>
                    <th field="loginName" width="100">登陆名</th>
                    <th field="password" width="100">登陆密码</th>
                    <th field="role"  formatter="formatterName" width="100">角色</th>
                </tr>
            </thead>

===============================================================

<script type="text/javascript">

function formatterName(value,row){
    // alert("=="+row.role[0].name)
    return row.role[0].name;
    }
   
</script>

easyUI类取嵌套的类型(pastJson结合)的更多相关文章

  1. 【转】C#类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)

    静态类 -------------------------------------------------------------------------------- 静态类就是在class关键字前 ...

  2. c++类的嵌套(1)

    在一个类的内部定义另一个类或结构体,我们称之为嵌套类(nested class),或者嵌套类型.之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现 ...

  3. javabean(实体类)转Map类型

    javabean(实体类)转Map类型 从网上"風亦飞"的导出EXCEL的源代码提取出来的.认为非常好用.分享一下给大家,主要看beanToMap方法就OK了 /*以下是从poi导 ...

  4. C++学习笔记----4.4 继承情况下的类作用域嵌套

    引言: 在继承情况下,派生类的作用域嵌套在基类作用域中:如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义. 正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就好像这些成员 ...

  5. Java 私有接口 【类中嵌套接口】

    1.前言 接口十分常用,能规范实现类的命名 和 实现多个实现类的向上转型成统一类型 ,但是接口的修饰符只能是 public吗? 当然不是,可以是private , 难道是像这样? 显然不可以,已经报错 ...

  6. 领域模型中的实体类分为四种类型:VO、DTO、DO、PO

    http://kb.cnblogs.com/page/522348/ 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: V ...

  7. java利用反射获取类的属性及类型

    java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...

  8. java类定义、变量类型、构造函数

    1.java类class的定义 所有java程序都以类class为组织单元,java类由属性和方法组成,下面看例子: public  class  Phone{ //属性 String company ...

  9. TypeScript基础类型,类实例和函数类型声明

    TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...

随机推荐

  1. apache2.4以上版本配置虚拟主机

    一  将 主配置文件 httpd.conf中 #Include conf/extra/httpd-vhosts.conf 前面的# 去掉 二  进入conf/extra 修改 /conf/extra/ ...

  2. ADO.NET 使用通用数据库操作类Database (SQL Server)

    一.Web.config配置 <connectionStrings> <add name="constr_name" connectionString=" ...

  3. centos7装机和初步运维

    1.装机-制作U盘启动盘 CentOS7是一个比较新的版本.在服务器领域用得比较多.因为前安装软件可能没有Ubuntu那样方便,所以桌面领域好像不是很多. https://www.centos.org ...

  4. RedHat下apache\ftp\mysql 4.0 的安装方法

    RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...

  5. 使用requestAnimationFrame做动画效果二

    3月是个好日子,渐渐地开始忙起来了,我做事还是不够细心,加上感冒,没精神,今天差点又出事了,做过的事情还是要检查一遍才行,哎呀. 使用requestAnimationFrame做动画,我做了很久,终于 ...

  6. 解决driver.findElement(By)运行到此处报null指针问题

    1.由于自动化页面上的元素定位太多,主要是通过By来定位,而By提供了id,xpath,name差不多就可以定位到元素 可以使用一个配置文件存储页面上的定位By值,然后从配置文件获取by值,行程by方 ...

  7. JavaScript箭头函数 和 generator

    箭头函数: 用箭头定义函数........           var fun = x=>x*x alert(fun(2))            //单参数   var fun1 = ()=& ...

  8. JAVA RMI 实例

    下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用. 分为以下四个步骤 1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承Unicas ...

  9. UVA 11624 Fire!

    题目大意: F代表火焰 J代表人 一个人想在火焰烧到自己之前逃出着火地区 . 为路,人可以走,火可以燃烧(当然如果火先烧到就不能走了) #为墙,不可走 如果能逃出,输出时间,不能,输出IMPOSSIB ...

  10. Oracle中Merge into用法总结

    MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执 ...