怎样修改JHipster的下拉框以及表格中的关联字段
2016-11-25 00:00
204 查看
在jHipster中通过JDL生产的页面默认是绑定到id列的.这种结果不仅客户接受不了,开发也是接受不了的.试想如果数据库有2000个关联对象,你展开一个下拉框后发现2000个编号.你是不是要抓狂.所以我们是绝不能容许这种事情发生的.
下面以Job 和 Employee为例,他们的关系是
而在JobDTO类中仅仅存在了
我们必须把他修改为:
这样我们的view层就可以访问到job对象中的这2个值了,但是Domain 对象的数据并没有和 DTO对象进行绑定,所以需要将他们链接起来.通过查询代码发现,只需要做如下修改
修改为
注意新增加的2行代码对数据进行了匹配.
这时候我们还需要去修改我们的前端页面.
在jobmySuffix-detail.html文件中修改如下代码
这时候页面绑定的下拉框就会显示你需要绑定的信息了,注意不要修改前面的vm.job.employeeId 前面的Id 是作为关联值保存到数据库的.
对于有下拉框的页面(jobmySuffix-dialog.html)
即修改
为
下面以Job 和 Employee为例,他们的关系是
public class Job implements Serializable { ... @ManyToOne private Employee employee; ... }
而在JobDTO类中仅仅存在了
public class JobDTO implements Serializable { ... private Long employeeId; //getter() & setter() ... }
我们必须把他修改为:
public class JobDTO implements Serializable { ... private Long employeeId; private Long employeeFName; private Long employeeLName; //getter() & setter() ... }
这样我们的view层就可以访问到job对象中的这2个值了,但是Domain 对象的数据并没有和 DTO对象进行绑定,所以需要将他们链接起来.通过查询代码发现,只需要做如下修改
/** * Mapper for the entity Job and its DTO JobDTO. */ @Mapper(componentModel = "spring", uses = {TaskMapper.class, }) public interface JobMapper { @Mapping(source = "employee.id", target = "employeeId") JobDTO jobToJobDTO(Job job); .... }
修改为
/** * Mapper for the entity Job and its DTO JobDTO. */ @Mapper(componentModel = "spring", uses = {TaskMapper.class, }) public interface JobMapper { @Mapping(source = "employee.id", target = "employeeId") @Mapping(source = "employee.firstName", target = "employeeFName") @Mapping(source = "employee.lastName", target = "employeeLName") JobDTO jobToJobDTO(Job job); .... }
注意新增加的2行代码对数据进行了匹配.
这时候我们还需要去修改我们的前端页面.
在jobmySuffix-detail.html文件中修改如下代码
<dt><span data-translate="userCenterApp.job.employee">Employee</span></dt> <dd> <a ui-sref="employeemySuffix-detail({id:vm.job.employeeId})">{{vm.job.employeeid}}</a> </dd>
<dt><span data-translate="userCenterApp.job.employee">Employee</span></dt> <dd> <a ui-sref="employeemySuffix-detail({id:vm.job.employeeId})">{{vm.job.employeeFName}}.{{vm.job.employeeLName}}</a> </dd>
这时候页面绑定的下拉框就会显示你需要绑定的信息了,注意不要修改前面的vm.job.employeeId 前面的Id 是作为关联值保存到数据库的.
对于有下拉框的页面(jobmySuffix-dialog.html)
<div class="form-group"> <label data-translate="userCenterApp.job.employee" for="field_employee">Employee</label> <select class="form-control" id="field_employee" name="employee" ng-model="vm.job.employeeId" ng-options="employee.lastName +'.'+ employee.firstName as employee.lastName +'.'+ employee.firstName for employee in vm.employees" > <option value=""></option> </select> </div>
即修改
ng-model="vm.job.employeeId" ng-options="employee.id as employee.id for employee in vm.employees" >
为
ng-model="vm.job.employeeId" ng-options="employee.lastName +'.'+ employee.firstName as employee.lastName +'.'+ employee.firstName for employee in vm.employees" >
相关文章推荐
- 怎样根据外部关联表格的字段值来符号化图层?
- 怎样根据外部关联表格的字段值来符号化图层
- SQL2008和SQL2012不能修改表格字段以及保存
- oracle怎样修改表名、列名、字段类型、添加表列、删除表列
- oracle怎样修改表名、列名、字段类型、添加表列、删除表列
- MySQL如何修改表格的字符集,如何修改某个字段的字符集
- 修改表以及表字段
- 怎样生成dll文件的方法以及与cs文件关联
- SAP 表格维护生成器-部分字段不能修改或不能看见
- ABAP--如何在'REUSE_ALV_GRID_DISPLAY'使用自定义F4帮助,返回多个字段以及计算修改其他字段
- 查找某表的所有与之关联的表以及关联字段
- 如何修改F7字段所关联的业务单元
- 如何修改RubyOnRails中ActiveRecord默认的表格名和外键字段映射关系?
- 解决WinForm中ComboBox控件的“设置"DataSourse”属性后无法修改项集合”以及两个不相关联的ComboxBox控件实现数据列表显示不可实现的问题
- sql 根据关联 用一个表的值修改另一个表对应字段的值
- sqlserver对字段的添加修改删除、以及字段的说明
- sql 修改表以及表字段
- SQL SERVER的数据类型以及怎样建立备注型字段?
- PowerDesigner怎样才能在修改表的字段Name的时候Code不自动跟着变
- SQL - 根据关联,用一个表的值修改另一个表对应字段的值