18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

49.crm第三天

1. 目录 dict字典

18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

2. 主键生成策略

1native是三选一但是必须为数字

使用uuidassigned来指定字符串类型。

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

3. Hbm引入hibernateapplicationC.xml配置

18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传 

4. 外键引用数据字典对象

18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传 

5. 使用ajax加载数据字典下拉选后台和注意事项

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

解决乱码问题:

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

6. 在进行配置文件配置时

applicationContext.xml需从最底层(Dao)开始配。

7. Ajax读取数据字典下拉选前台js部分(生成通用代码)很重要)

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

1)jsp页面加载完成调用方法

   $(document).ready(function(){

      某方法();

})

2)ajax$.post()读不出来数据:这个问题困扰了许久

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

最终在这里发现对乱码的处理代码写错!!!!!

3)将写好的通用js代码放入单独文件中,使用时直接引入即可、

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

4)jq创建select对象

   Var $select=$(“<select name=’’></select>”)

   添加提示性option

   $select.append($(“<option value=’’>--请选择--</option>”));

5) 使用jqajax访问后台

   $.post(“path”,{key:value},function(data){},”json”);

6) 记住后台action返回null用于ajax拿数据。

6. 接着上述ajax保存客户后台逻辑

1)提交参数时是三个外键分别提交到封装对象的相关属性(对象)

   的主键属性里。 如下:

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

当点击提交时,会自动封装到对象的属性=selectname上。

2)此操作需要配置事务

当使用xml配置事务时,可以如此配置兜住通知

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

3)参数提交到Action后调用service层方法保存客户,需要维护

   字典表和客户表的关系,但是提交属性时已经提交到了客户表的

   相关属性对象上,不用再维护关系了,,直接保存。

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

4)保存完毕后重定向到Action去查询数据

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

5)此时客户列表拿数据时,应注意此时相关属性已经是对象,jsp页 

   拿数据应找到对象后再进去一层。否则是地址值

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

 18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

7. 文件上传(struts2先进的文件上传模式)

1)文件上传的三个要求

   表单必须为post提交

   表单提交类型entype,必须多段式

   文件上传使用<input type=”file ”>组件

2)struts2文件接收后台丧心病狂的简单

   18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传

只需要准备这三个属性并给出get/set方法即可,如果将文件保

存到某个位置photo.renameTo(new File(“E:/uip/h.jpg”));

看拦截器源码就看intercepter()方法.

8. 客户列表编辑修改功能(回显)

1

最重要的在于hibernatesaveorUpdate()方法。因为hibernate对象存在游离和瞬时状态而有无id值。使得添加和修改在同一个方法内。

18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传