当前位置: 首页 > news >正文

网站 配色方案做网站中心

网站 配色方案,做网站中心,erp生产管理系统,网站设计步骤大全解决表单提交的数据丢失问题#xff1a; 一、问题描述#xff1a; 当我们在给前台页面设置修改功能的时候#xff0c;因为有些信息是不允许进行修改的#xff0c;所以在修改表单中没有相应的修改输入框#xff0c;但是在修改表单的数据提交的时候#xff0c;那些不允许修…解决表单提交的数据丢失问题 一、问题描述   当我们在给前台页面设置修改功能的时候因为有些信息是不允许进行修改的所以在修改表单中没有相应的修改输入框但是在修改表单的数据提交的时候那些不允许修改的信息在数据库中却不见了。   二、原因分析        提交表单的时候因为在表单中没有那些不允许修改的信息相对应的数据所以在执行SQL修改语句的时候这些信息就被默认的null值替换了相当于这些信息被修改为了null值我的Dao层实现类是通过SpringDataJpa自动生成的。   三、解决方案        方案一在修改表单中添加那些不允许修改信息的隐藏输入框。        优点容易理解。        缺点如果不允许修改的信息太多代码量会比较大另外这种方案的安全性确实是有一些低        适用场景字段较少的时候可取。          方案二在domain实体类的不许修改的字段上加上Column(updatable false)这个标签。        优点比较简单。        缺点当真正需要对这些信息进行修改的时候就无法修改。        适用场景永久不需要对该字段进行修改。              方案三使用SpringMVC专门为我们提供的数据丢失解决方案使ModelAttribute注解【推荐使用】        优点当不能修改的信息较多时减少代码量更为安全。        缺点较难理解。       操作1、先在前台添加一个请求参数obj.methodupdateEmployee;   //添加或者修改用户saveEmployee:function (){//serializeObject:序列化表单中的数据使之能完整提交var obj $(#updateFrom).serializeObject();//id的那个隐藏输入框有值就表示修改var url /employee/addEmployee;if (obj.id obj.id 0) {url /employee/updateEmployee;//添加一个请求参数obj.methodupdateEmployee;}//如果表单验证失败就阻止表单提交【当表单内所有输入控件都验证通过的时候这个方法返回truevalidate确认使生效】var valid $(#updateFrom).form(validate);if (!valid) return;$.post(url, obj, function (data) {//提示一下$.messager.alert(消息, data.msg \r\n (data.exception ? data.exception : ), info);if (data.status 200) {//调用搜索页面数据的方法window.method.search();//关闭window窗口$(#win).window(close);}}, json);}           2、在Controller控制层添加如下一个方法方法上加上注解ModelAttribute(updateEmployee)    。 /*** 修改员工之前通过id查询员工【解决数据丢失问题】* ModelAttribute(updateEmployee)* SpringMVC框架专门提供来解决数据丢失问题* 加了ModelAttribute注解的方法会在当前类的所有处理请求的方法之前都会先执行此方法* */ModelAttribute(updateEmployee)public Employee findEmployeeToEdit(Long id, String method){//只有修改员工的方法执行之前先去查询员工因为每个方法执行前都会执行这个方法if(id ! null updateEmployee.equals(method)){Employee employee employeeService.findOneById(id);//员工对象和它关联的部门对象断开关系部门就变成临时对象注意如果查询的表有相关联的对象必须要先解除关联不然会报 n to n错误employee.setDepartment(null);//持久对象的主键值不能被修改所以必须要断开联系return employee;}return null;}           3、在修改方法的参数列表上添加ModelAttribute(updateEmployee)注解。 /*** 修改员工* ModelAttribute(updateEmployee)写在参数列表前* 先执行findEmployeeToEdit方法得到一个持久状态的对象懒加载的特点* 再从表单请求中获取employee对象* 合并非空属性值最后以数据库查询出来的持久状态的对象为准再传入当前方法的参数列表中* 下面形参列表的employee其实就是前台传过来的数据和上面方法传过来的数据的合并主体是上面方法查到的数据* 如果前台传来有数据就把其中对应的数据覆盖前台对应数据为空就继续用查询到的数据** 加了ResponseBody注解表示处理异步请求SpringMVC内部默认使用jackson工具转化为JSON进行返回不跳转页面*/ResponseBodyRequestMapping(/updateEmployee)public ResultJson updateEmployee(ModelAttribute(updateEmployee)Employee employee){try {employeeService.save(employee);} catch (Exception e) {e.printStackTrace();return new ResultJson(500,员工修改失败,e.getClass().getName() : e.getMessage());}return new ResultJson(200,员工修改成功,null);}   SpringMVC的ModelAttribute(updateEmployee) 注解执行原理分析   1、添加有该注解的findEmployeeToEdit方法会在当前类的所有处理请求的方法之前执行因此必须写先在前台页面添加一个请求参数obj.methodupdateEmployee; 然后在 if(id ! null updateEmployee.equals(method)) 语句中通过请求参数确保该方法只对修改方法updateEmployee起作用   2、findEmployeeToEdit执行完毕后会或得一个持久状态的employee对象懒加载特性然后注解ModelAttribute通过名字updateEmployee找到修改方法的参数列表的同名注解updateEmployee(ModelAttribute(updateEmployee)Employee employee)   3、然后以findEmployeeToEdit方法查询到的employee对象作为主体用前台传过来的employee对象中有值的数据替换掉主体对象中相对应的数据这样新得到的employee对象就既有了前台的修改数据又保存了不可被修改的信息的数据。          注意如果出现如图的 n to n 错误就是因为持久对象的主键值不能被修改所以必须要断开联系例如employee.setDepartment(null);  转载于:https://www.cnblogs.com/wanghj-15/p/11090840.html
http://www.yutouwan.com/news/256359/

相关文章:

  • 西安的电商网站设计给公司做个网页要多少钱
  • 网站制作的企业有哪些google学术搜索
  • 茶山网站建设宣传海报设计
  • 江西 网站 建设 开发门户网站开发解决方案
  • 网站开发文档需求撰写word河北邢台学院
  • 河南科兴建设有限公司网站深圳 建设银行国际互联网站
  • 食品网站开发的背景如何建设一个收费的影视图文网站
  • 做淘宝主要看哪些网站有哪些无限成都成都市广播电视台官方网站
  • 代码统计网站思维导图在线制作网站
  • asp网站gzip压缩wordpress 社区 论坛 主题
  • 苏州住房与城乡建设局网站桂林旅游景点
  • 怎么注册网站网址中国保险行业协会网站
  • 做样子的网站在家开个人工作室违法吗
  • 乔拓云建站有免费的吗南安seo关键词
  • 网站建设创意文案公众号里的功能怎么开发
  • 创维网站关键字优化开发高端客户
  • 社保网站上20号做的新增搜素引擎排名优化计费方式
  • seo 网站地图优化网站设计工具有哪些
  • 400电话安装佛山营销网站建设网站好坏怎么分析
  • 网站开发安全问题网页升级未成年请自觉离开
  • 大学生app开发经费预算代做seo排名
  • 如何做网上销售网站学室内设计要多久能学会
  • 南昌p2p网站建设兰州中川国际机场三期
  • 建设网站的价值网址ip地址查询工具
  • 中国建设银行宁夏分行网站wordpress 画图插件
  • 中国企业信息网官方网站网站建设 绵阳
  • 百度多长时间收录网站做seo对网站推广有什么作用
  • 网站建设大致价格2017开发公司工程部经理竞聘演讲稿
  • 买空间去哪个网站做个卖东西的网站
  • 网站页脚内容长春网站seo