1. 后台持久层Spring Jpa(即hibernate), 前台angularJS(angularJS只接受json串), 在后台使用DTO层对象代替domain(entity)与前台交互时,

 传递的DTO对象中也包含对象,被包含对象也一定是对应domain的DTO, 因为只有DTO可以序列化和反序列化,用作于表现层的传递对象。

如下:

public class VehicleAnnualAuditDTO {

	private Long id;

	private Boolean deleted;

	// 关联车辆
// 要包含一个其他对象, 类型必须是其对应的DTO类,属性名需要与对应的domain类中的属性名相同,这样自动转化工具比如(ObjectMapper或ModelMapper)能够识别并转化
private VehicleDTO vehicle; // 年审时间
private String annualDate; // 办理人姓名
private Staff agent; // 备注
private String remark; public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public Boolean getDeleted() {
return deleted;
} public void setDeleted(Boolean deleted) {
this.deleted = deleted;
} public VehicleDTO getVehicle() {
return vehicle;
} public void setVehicle(VehicleDTO vehicle) {
this.vehicle = vehicle;
} public String getAnnualDate() {
return annualDate;
} public void setAnnualDate(String annualDate) {
this.annualDate = annualDate;
} public Staff getAgent() {
return agent;
} public void setAgent(Staff agent) {
this.agent = agent;
} public String getRemark() {
return remark;
} public void setRemark(String remark) {
this.remark = remark;
} public VehicleAnnualAuditDTO() {
super();
} } 2. 在编写初始化init函数或者其他函数时:切忌要认清该函数的任务, 不要把初始化变量全写在里面然后每次点击都调用,这样会导致初始化数据归置,应该只调用初始化函数一次:
例子:(血的教训啊)
//该函数的主要任务是初始化参数和数据   (*其实该函数取名就不太对,要配置参数就光参数,要刷新数据就刷新数据,怎么还先配置参数在刷新数据,全还在一起了,以后调用肯定出错)
function initialize() {
debugger;
// 初始化参数
$scope.one = "hello";
$scope.filter = {}; // 过滤器 // 分页参数
$scope.pageSize = [, , ];
$scope.pageInfos = {}; // 初始化第一页
toPage(, , null);
}
// 而我在前台调用的地方却是一个经常点击的事件, 该事件其实只需要获取数据
,而我却调用了上面这个方法,导致每次调用参数都会归置
<uib-tabset active="" justified="true">
<uib-tab index="" heading="汽车" th:include="vehicle/info/templates::car" select="initialize()">汽车</uib-tab> //select是一个经常点击的事件,我调用的方法应该只包含数据的刷新而不包含参数
<uib-tab index="" heading="工作车" th:include="vehicle/info/templates::workingCar" select="toWorkingCar()">工作车</uib-tab>
<uib-tab index="" heading="可用车辆" th:include="vehicle/info/templates::vehicleAvailable" select="toVehicleAvailable()">可用车辆</uib-tab>
</uib-tabset>

正确的做法是:

$scope.toVehicleAvailable = function() { //在调用的方法中只处理数据的更新,在参数配置放在另一个函数中
initAvailableVehicle();
}; function initialGanttConfig() { // 专门预处理参数的方法,确保该方法只走一次而不是每次带年纪都走,那样参数每次都重新赋值岂不是权利乱套了全
// 初始化gantt图配置
$scope.headersFormats = {
'year': 'YYYY年',
month: 'YYYY年-MM月',
week: '第w周',
day: 'DD',
hour: 'HH:',
minute: 'HH:mm',
second: 'H:mm:ss',
};
$scope.fromDate = dateService.getMonday();// gantt图开始日期:当前周的周一
$scope.toDate = dateService.getSunday();// gantt图截止日期:当前周的周末
// 监听日期变化
};
initialGanttConfig(); // 只调用一次

springMVC 踩过的坑 - 记录的更多相关文章

  1. javscript踩过的坑 - 记录

    1. js中, ‘==’ 运算符是对大小写敏感的

  2. unionId突然不能获取的踩坑记录

    昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...

  3. webAPP踩坑记录

    最近公司突然给我们下了一个任务  一个星期要做出一个系统网站 外加手机app   2个同事负责 web开发  我负责手机app 的开发 今天终于初级版本做完了,记录一下手机app踩过的坑与优化之路 用 ...

  4. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  5. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  6. SpringBoot + Shiro + shiro.ini 的踩坑记录

    0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...

  7. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  8. google nmt 实验踩坑记录

       最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...

  9. ABP框架踩坑记录

    ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...

随机推荐

  1. 【跟着stackoverflow学Pandas】add one row in a pandas.DataFrame -DataFrame添加行

    最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...

  2. [置顶] kubernetes1.8发布跟踪

    一.Kubernetes发布历史回顾 1.        Kubernetes 1.0 - 2015年7月发布 2.        Kubernetes 1.1 - 2015年11月发布 3.     ...

  3. HDU 数位dp

    模板http://www.cnblogs.com/jffifa/archive/2012/08/17/2644847.html 完全理解以后,我发现这种写法实在是太厉害了,简洁,优美,可以回避很多细节 ...

  4. iOS日期加一个月的方法

    NSCalendar *calender2 = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian] ...

  5. 基本SQL命令

    1.SQL命令的使用规则 1.每条命令必须以 ; 结尾 2.SQL命令不区分字母大小写 3.使用 \c 来终止当前命令的执行 2.库的管理 1.库的基本操作 1.查看已有库 show database ...

  6. 使用css固定table第一列

    .table{width:100%;overflow-x: scroll;background-color:#7c95b5;} .fixedTable{width:160%;text-align: c ...

  7. ios逆向工程-静态分析

    最近在学习IOS逆向工程,查看网络上的资料也不是太多,边学边总结一下. 首先学习资料: 念茜(大神)的博客: http://nianxi.net <ios应用逆向工程 分析与实战> --- ...

  8. LOJ2359. 「NOIP2016」天天爱跑步【树上差分】

    LINK 思路 首先发现如果对于一个节点,假设一个节点需要统计从字数内来的贡献 需要满足\(dep_u - dep_s = w_u\) 这个条件其实可以转化成\(dep_u - w_u = dep_s ...

  9. LOJ2323. 「清华集训 2017」小 Y 和地铁 【搜索】【思维】【好】

    LINK 思路 首先如果直接算每一个段有三个决策 左/右 上/下 跨不跨过端点 这样的复杂度是\((2^3)^{22}\),显然是无法接受的 然后考虑怎么优化这个东西 首先左右这个决策是没有意义的 因 ...

  10. tableau-详细级别表达式——2、阵列分析

    tableau做阵列分析 合作时间越长的客户对销售额的贡献越大吗? 下面的视图按照客户首次购买的年份将客户分组,以便对比各个阵列的年度销售贡献额. 每个客户的最早订单日期将体现出首次购买日期.不过,由 ...