不管是MIS还是ERP都可能碰到用户信息撰写完成之后,需要修改的问题。
C/S模式下利用变量标记可以实现这样的形式,不过在B/S模式下,做的工作可能要更多一下,工作中通过实践发现以下几种方法可以实现,并且实现起来很容易:
第一,利用变量标记系统中的根据,系统中设置window.amend = false,当用户为页面中的信息做修改时,把变量设置为true,保存时候判断变量的属性从此获得是否要保存信息;
第二,在设置的时候给页面变量加一个标识,例如:amend=“new/true”,保存依旧,只不过在对数据进行序列化的时候对中间的amend进行判断,如果是new证明是新加的内容,对新加的内容保存;如果是true说明是修改的内容,对数据库中相应的内容进行修改;
第三,前台依然按照新的进行保存,在业务处理层进行判断,这点想必大家都有自己的思路,我就不在这儿卖弄了。
优缺点分析:
第一:第一方法是在页面中加以判断,如果客户浏览器允许的情况下,是体会不到的,不过这样无形中增加的客户端的压力,可以谨慎使用;第二种方法对第一种方法进行了优化,只对其中的修改和新增内容变动,而不对原来的数据修改减小了客户端和服务器段的压力;第三种方法是对服务器的一种严峻考验,并发多的情况下用户的体验效果会很差。
第二:安全考虑,第一种方法完全在用户端执行,JS代码被下载之后系统完全暴露,黑客可以利用这但进行系统探测;第二种方法依然;第三种方法可以对客户端的操作进行了屏蔽安全性有了很好的保证。
第三:实现,三种方法的实现均是在客户端和业务层操作,对系统的压力比较大。如果哪位仁兄的数据库持久层编程比较厉害的话,咱们可以讨论一下在数据库持久层对数据过滤,这样可以利用框架的优势在对咱们的不足进行优化。电邮地址:tq02vm8@126.com