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. 在linux上配置并创建JavaFX项目

    本环境为linux配置,因为这里的JavaFX项目是为定制Oracle监控工具而写的.现Oracle已收购Java好几年,用它自己的产生监控自己的东西还是很兼容的.此处Eclipse 为4.5版本. ...

  2. JS原型的问题Object和Function到底是什么关系

    var F = function(){}; Objcert.prototype.a = function(){}; Function.prototype.b = function(){}; F 既能访 ...

  3. css学习笔记 8

    标准盒模型:盒子宽 = marginleft+borderleft+paddingleft+width+paddingright+borderright+marginright; 盒子高=margin ...

  4. FPGA图像处理 两路sensor的色调不一致

    怎么调?可以让两路sensor的色调一致.

  5. MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术

    逻辑查询优化包括的技术 1)子查询优化  2)视图重写  3)等价谓词重写  4)条件简化  5)外连接消除  6)嵌套连接消除  7)连接消除  8)语义优化 9)非SPJ优化 一.子查询优化 1. ...

  6. java selenium (五) 元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...

  7. window.location.href无法跳转的解决办法

    -------------------接收别人做的SSO单点登录项目,无源码,只是点击登出按钮一直不跳转. 原因是: <a href="javascript:;" oncli ...

  8. PDF 补丁丁 0.5.0.2520 测试版发布:新春快乐!

    新的PDF测试版今天发布了. 新的测试版比旧测试版本增加了如下功能: 合并文件功能可以导出.导入文件列表,方便合并大量文件.一天干不完,保存一下,明天继续来. 合并文件功能可以统一已合并文件的旋转方向 ...

  9. scala 的内部类

    class A { class B; def foo(b:A#B){} //def foo(b:B){} 后面的a1.foo(b2) 就不能通过编译 } object Main { def main( ...

  10. sql 查询服务器硬盘剩余空间

    DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fi ...