18.01.30,web学习第四十九天,还有半年,努力吧青年 crm第三天数据字典和struts2文件上传
49.crm第三天
1. 目录 dict字典
2. 主键生成策略
1)native是三选一但是必须为数字 使用uuid或assigned来指定字符串类型。 |
3. Hbm引入hibernate在applicationC.xml配置
|
4. 外键引用数据字典对象
|
5. 使用ajax加载数据字典下拉选后台和注意事项
解决乱码问题: |
6. 在进行配置文件配置时
applicationContext.xml需从最底层(Dao)开始配。 |
7. Ajax读取数据字典下拉选前台js部分(生成通用代码)(很重要)
1)jsp页面加载完成调用方法 $(document).ready(function(){ 某方法(); }); 2)ajax的$.post()读不出来数据:这个问题困扰了许久 最终在这里发现对乱码的处理代码写错!!!!! 3)将写好的通用js代码放入单独文件中,使用时直接引入即可、 4)jq创建select对象 Var $select=$(“<select name=’’></select>”) 添加提示性option: $select.append($(“<option value=’’>--请选择--</option>”)); 5) 使用jq的ajax访问后台 $.post(“path”,{key:value},function(data){},”json”); 6) 记住后台action返回null用于ajax拿数据。 |
6. 接着上述ajax保存客户后台逻辑
1)提交参数时是三个外键分别提交到封装对象的相关属性(对象) 的主键属性里。 如下: 当点击提交时,会自动封装到对象的属性=select的name上。 2)此操作需要配置事务 当使用xml配置事务时,可以如此配置兜住通知 3)参数提交到Action后调用service层方法保存客户,需要维护 字典表和客户表的关系,但是提交属性时已经提交到了客户表的 相关属性对象上,不用再维护关系了,,直接保存。 4)保存完毕后重定向到Action去查询数据 5)此时客户列表拿数据时,应注意此时相关属性已经是对象,jsp页 拿数据应找到对象后再进去一层。否则是地址值 |
7. 文件上传(struts2先进的文件上传模式)
1)文件上传的三个要求 表单必须为post提交 表单提交类型entype,必须多段式 文件上传使用<input type=”file ”>组件 2)struts2文件接收后台丧心病狂的简单 只需要准备这三个属性并给出get/set方法即可,如果将文件保 存到某个位置photo.renameTo(new File(“E:/uip/h.jpg”)); 看拦截器源码就看intercepter()方法. |
8. 客户列表编辑修改功能(回显)
1) 最重要的在于hibernate的saveorUpdate()方法。因为hibernate对象存在游离和瞬时状态而有无id值。使得添加和修改在同一个方法内。 |