一、怎樣在用戶表裏加一個輔助字段屬性,用於保存用戶擁有的角色javascript
(1)首先,在User模型里加以下屬性html
/** * 擁有的角色 */ private List<Role> roles; /** * 只作查詢 * 用戶擁有的角色列表 * @return */ public List<Role> getRoles() { if(this.roles == null) { this.roles = Role.dao.findRolesByUserId(this.getId()); } return roles; }
(2)這樣加了還不夠,renderJson的結果根本就沒有roles這個屬性,這裏要使用fastJson結果纔會有roles這個屬性,至於爲何要用fastJson,如今我還沒太明白,後面會好好去了解下。fastJson配置以下:java
public void configConstant(Constants me) { me.setJsonFactory(new FastJsonFactory()); }
還要使用maven引用fastJson的jar包:json
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency>
二、經過以上步驟,能夠得到每一個用戶擁有的角色對象,如今的問題是怎麼在前臺顯示,這裏用到layui的引擎模板,使用以下:maven
{field:'roles', width:120,title: '角色',templet: '#titleTpl'}
<script type="text/html" id="titleTpl"> {{# layui.each(d.roles, function(index, item){ }} <span>{{ item.description }} </span> {{# }); }} </script>