easyUI类取嵌套的类型(pastJson结合)
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结合)的更多相关文章
- 【转】C#类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
静态类 -------------------------------------------------------------------------------- 静态类就是在class关键字前 ...
- c++类的嵌套(1)
在一个类的内部定义另一个类或结构体,我们称之为嵌套类(nested class),或者嵌套类型.之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现 ...
- javabean(实体类)转Map类型
javabean(实体类)转Map类型 从网上"風亦飞"的导出EXCEL的源代码提取出来的.认为非常好用.分享一下给大家,主要看beanToMap方法就OK了 /*以下是从poi导 ...
- C++学习笔记----4.4 继承情况下的类作用域嵌套
引言: 在继承情况下,派生类的作用域嵌套在基类作用域中:如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义. 正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就好像这些成员 ...
- Java 私有接口 【类中嵌套接口】
1.前言 接口十分常用,能规范实现类的命名 和 实现多个实现类的向上转型成统一类型 ,但是接口的修饰符只能是 public吗? 当然不是,可以是private , 难道是像这样? 显然不可以,已经报错 ...
- 领域模型中的实体类分为四种类型:VO、DTO、DO、PO
http://kb.cnblogs.com/page/522348/ 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: V ...
- java利用反射获取类的属性及类型
java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...
- java类定义、变量类型、构造函数
1.java类class的定义 所有java程序都以类class为组织单元,java类由属性和方法组成,下面看例子: public class Phone{ //属性 String company ...
- TypeScript基础类型,类实例和函数类型声明
TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...
随机推荐
- 在linux上配置并创建JavaFX项目
本环境为linux配置,因为这里的JavaFX项目是为定制Oracle监控工具而写的.现Oracle已收购Java好几年,用它自己的产生监控自己的东西还是很兼容的.此处Eclipse 为4.5版本. ...
- JS原型的问题Object和Function到底是什么关系
var F = function(){}; Objcert.prototype.a = function(){}; Function.prototype.b = function(){}; F 既能访 ...
- css学习笔记 8
标准盒模型:盒子宽 = marginleft+borderleft+paddingleft+width+paddingright+borderright+marginright; 盒子高=margin ...
- FPGA图像处理 两路sensor的色调不一致
怎么调?可以让两路sensor的色调一致.
- MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术
逻辑查询优化包括的技术 1)子查询优化 2)视图重写 3)等价谓词重写 4)条件简化 5)外连接消除 6)嵌套连接消除 7)连接消除 8)语义优化 9)非SPJ优化 一.子查询优化 1. ...
- java selenium (五) 元素定位大全
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法. 测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...
- window.location.href无法跳转的解决办法
-------------------接收别人做的SSO单点登录项目,无源码,只是点击登出按钮一直不跳转. 原因是: <a href="javascript:;" oncli ...
- PDF 补丁丁 0.5.0.2520 测试版发布:新春快乐!
新的PDF测试版今天发布了. 新的测试版比旧测试版本增加了如下功能: 合并文件功能可以导出.导入文件列表,方便合并大量文件.一天干不完,保存一下,明天继续来. 合并文件功能可以统一已合并文件的旋转方向 ...
- scala 的内部类
class A { class B; def foo(b:A#B){} //def foo(b:B){} 后面的a1.foo(b2) 就不能通过编译 } object Main { def main( ...
- sql 查询服务器硬盘剩余空间
DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fi ...