使用MiniUI需要注意:UI和数据是分离的。

传统的WEB开发,开发者经常将数据库操作、服务端业务、HTML标签写在一个页面内。
这样会造成开发的混乱,并且难以维护和升级。

使用MiniUI开发的时候,开发者通常会做两种页面:
1)数据页面:dataservice.jsp。(也可以是dataservice.aspx)
2)界面页面

数据页面用来提供json。它通过request获取提交的信息,进行逻辑判断后,进行相关服务端操作,通常是在数据库查询,或者增加、修改、删除数据。在最后,它把要返回的数据内容,做成一个JSON字符串,通过response返回。
以下给出一段伪代码:

  1. //查询条件
  2. string key = Request["key"];
  3. ......
  4. //数据库操作
  5. Hashtable result = new TestDB().SearchEmployees(key, pageIndex, pageSize, sortField, sortOrder);
  6. //序列化成JSON
  7. String json = PluSoft.Utils.JSON.Encode(result);
  8. //返回JSON
  9. Response.Write(json);

复制代码

界面页面是最终用户看到、操作的页面,至关重要。
开发者此时可以不用理会数据服务,专心开发界面。比如一个CRUD操作的表格、复杂的表单、弹出面板等。
当界面呈现完成后,进行数据服务的交互处理。
通常,表格的查询、分页、排序功能占开发的大部分时间。
MiniUI的DataGrid极大的简化了这一环节:

  1. grid.setUrl("dataservice.jsp?method=GetEmployees");
  2. grid.load({key: "")}; //查询
  3. grid.gotoPage(0, 20); //分页
  4. grid.sortBy("price", "desc"); //排序

复制代码

在其他数据操作场合,使用jQuery的ajax实现数据交互,比如实现一个删除记录的ajax方法:

  1. $.ajax({
  2. url: "dataservice.aspx?method=RemoveEmployees&id=" + row.id,
  3. success: function (text) {
  4. grid.reload();
  5. },
  6. error: function () {
  7. }
  8. });

复制代码

这种开发模式带来的好处是:
1)专注。后台开发者专注于数据库、服务端、业务设计;前端开发可以专注界面细节。
2)复用。数据页面dataservice.jsp,可以被多个界面页面所调用,而只需要开发一次。
3)可控。使用firebug、httpwatch等工具,是界面传递的参数不对,还是后台获取的数据错误,一目了然。
4)上手迅速、低成本、高可靠性。可以让一个新手使用MiniUI开发界面,让有经验的人开发最重要的后台。
5)易维护、易升级。只需要修改界面,不需要修改后台代码,就可以让系统焕然一新。

jQuery MiniUI开发系列之:UI和数据分离的更多相关文章

  1. jQuery MiniUI开发系列之:数据验证

    在开发应用系统界面时,往往需要进行很多.复杂的数据验证,当填写的数据符合规定,才能提交保存. jQuery MiniUI提供了比较完美的表单数据验证和错误显示的方式. 常见的表单控件,都有一个验证事件 ...

  2. jQuery MiniUI开发系列之:安装部署

    jQuery MiniUI是一套纯Javascript的WebUI控件库,它由几十个Javascript控件组成,是不依赖服务端和数据库的. 下载jQuery MiniUI,解压缩后,开发者可以直接在 ...

  3. jQuery MiniUI开发系列之:创建组件对象

    jQuery MiniUI可以使用Javascript和Html两种方式来创建对象. 1)Javascript创建对象 使用JavaScript创建对象,是最基本的方式,有如下几个要点: 1)使用ne ...

  4. jQuery MiniUI开发系列之:使用API文档

    jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...

  5. jQuery MiniUI开发系列之:Ajax处理超时、服务端错误

    MiniUI所有组件的ajax交互,均使用标准.成熟的jQuery.ajax. 依赖于jquery ajax组件的完善性,我们可以拦截住每一次ajax请求处理. 比如,拦截ajax返回数据前,判断返回 ...

  6. jQuery MiniUI开发系列之:HTML标签配置

    全部使用Javascript写一个界面,是一件很困难的事. 1)要求有较高的Javascript编程能力. 2)会造成“代码树”问题.一级又一级子"children",需要&quo ...

  7. jQuery MiniUI 开发指南+API组件参考手册

    jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

  8. thinkphp+Jquery MiniUI 开发 管理系统

    Jquery Miniui JS 兼容IE6+的浏览器,非常适合在企业内部使用. 管理系统等都非常方便. 在企业内部正在使用的是前期asp.net +fineui实现的管理系统.经过了几年的实践检验. ...

  9. UI与数据分离 与 UI的演进

    解藕的好处:UI内部模块能够灵活的变化. MVC或者三层架构着重强调了数据.业务逻辑和UI的分离. (MVC中的C只是UI和业务逻辑模块间的一个中转组件,理论上应该是个轻模块.) 以前的关注的解藕技术 ...

随机推荐

  1. 判断App运行是否在前台

    转自:http://notes.stay4it.com/2016/02/26/check-if-app-is-running-forground/ 在一些场景中,经常会需要判断App是否在后台运行,比 ...

  2. http 学习 1-1 chapter1-HTTP概述

    Web浏览器.服务器和相关的Web应用程序都是通过HTTP相互通信的.HTTP是现代全球因特网中使用的公共语言. 1.1HTTP – 因特网的多媒体信使 HTTP使用的是可靠的数据传输协议,确保数据在 ...

  3. jenkins 中 Poll SCM 和 Build periodically 的区别

    Build periodically 定时触发构建任务,不管远程代码分支上的代码是否发生变化,都执行一次构建. 示例:H 2 * * * 每天两点定时执行构建. Poll SCM:定时感知代码分支是否 ...

  4. php + sqlserver

    Dbconn <?php class DbConn{ private $conn; private $rs; private function __construct(){ $serverNam ...

  5. (整理) JQuery中的AJAX

    $(document).ready(function () { $("#search").click(function () { $.ajax({ type:"GET&q ...

  6. CSS中的text-overflow:clip|ellipsis的使用

    如果想让某个容器(div或者li或者...块级元素)显示一行文字,当文字内容过多时,不换行,而是出现...,可以使用text-overflow:clip|ellipsis 基本语法:text-over ...

  7. java考核完的心得

    2015年8月13日     星期四      晴 今天上午我们考核了java,就是用Java语言写一个小型的管理系统.考核前的我信心满满,因为我本身是测试专业的,觉得在开发这方面对自己不用要求的那么 ...

  8. Flex 监听浏览器关闭

    在creationComplete的事件中,添加如下: if(ExternalInterface.available)//外部接口是否可用    {     var js:String= " ...

  9. Linux测试环境部署tomcat(二)

    安装配置tomcat 1:在http://tomcat.apache.org/download-80.cgi下载最新安装包 2:安装tomcat 将apache-tomcat-8.0.21.tar.g ...

  10. Extnet Direct 提交后台事件文件下载设置

    App.direct.MasterData.Export(App.tfSearch.getValue(), {                    isUpload: true            ...