cms 网站后台内容管理系统模板(学习ExtJS,界面与数据是分离(一)|)
优采云 发布时间: 2022-04-07 07:05cms 网站后台内容管理系统模板(学习ExtJS,界面与数据是分离(一)|)
晚点我去取车。今天,我不会继续唠叨开发过程。先说一下大家普遍比较关心的背景语言问题。
作者在学习Ext JS时,一直强调学习的中心思想是“接口和数据分离”。只要把握好这个思路,对Ext JS的运行过程有深刻的理解,就不会为后台语言用什么而烦恼。可以说,只要思路清晰,将一个Ext JS项目迁移到不同的后台语言平台是很容易的。下面是这个例子的简要说明。
如果你放下语言的包袱,坚持看这个例子的文章,你会觉得只有一个客户端脚本文件和背景语言的组合文件,就是home页面 index.cshtml。其中的脚本都被提取出来了。基本上,Ext JS 与开发语言平台无关。将Scripts目录复制到任意语言平台项目中,即可直接使用。修改的地方基本就是地址了。如果用Ext.Direct,这个就更彻底了,基本不用修改,后台语言都有对应的方法。如果这很清楚,那就没问题了。
比如把这个例子修改成Java版本,如果Java架构不支持鉴权验证,把首页拆分成两个文件,一个用于登录,一个用于登录后跳转。估计熟悉的人Web 开发已经司空见惯。
在 Ext JS 中,主要有三种数据提交方式:
1. 表单提交,虽然这个方法也是用ajax方式提交,但是后台处理和基本的表单提交表单没什么区别,所以后台数据处理方法不难,你懂的!不知道?这...构成了您的 HTML 知识。最好的例子是登录窗口的提交,试着用你熟悉的语言做这个练习。
2.ajax表单提交,这里的例子是用户登录时重置密码,虽然数据格式不固定,但是提交参数是自己或者项目自己定义的,后台数据处理方式和处理表单提交数据差别不大。
3. 存储同步数据提交方式,只要定义了Writer并使用相同的数据提交方式,那么后台数据处理方式基本相同。比如用户管理中的增删改操作,必须从data关键字中提取提交的数据,然后通过服务端JSON对象的parse方法将提交的数据转换成JSON数组,然后提取特定的数据对象。处理。Java的处理基本可以参考书中1.2.6节的方式进行处理。其他语言可以找对应的JSON库来处理。
在 Ext JS 中,数据的返回格式基本是固定的。在示例中,当前的返回格式有两种:
1、 表单错误信息:
{
成功:真或假,
错误:{
field1 : "错误信息",
field2 : "错误信息",
...
}
}
2、 其他数据
{
成功:真或假,
总计:总数据,
数据 : [...],
消息:“错误消息”
}
例子中Store的同步操作和Ajax数据的提交都使用第二种数据返回格式,基本通用。
知道了Ext JS的数据提交格式和返回格式,就知道如何提取数据和返回数据了。只要数据以正确的格式返回,无论任何背景语言,Ext JS 都可以正常工作。至于背景,使用什么语言或数据库无关紧要。这些都是开发者掌握的技术,剩下的就是按照格式返回数据了。因此,修改这个例子并不困难。
比如显示用户数据,不管数据表是什么结构,你从数据库中提取数据后,按照格式2组织数据并返回。你说你不知道如何从数据库中提取数据?这……这,我也教不了。
添加用户,首先根据提交格式提取数据,然后使用自己的数据库添加数据,将数据添加到数据库中。根据数据返回格式2,向客户端返回添加成功或失败的信息。就是这么简单。编辑和删除的基本步骤相同。
至于权限的控制,各种语言都有自己的方法。最简单的方法是在每个操作方法的标头中进行验证。如果验证发现不符合权限要求,则根据数据返回格式2返回成功值false和Msg信息。对于“您没有权限访问”数据即可。
数据处理方法明确后,剩下的就是让Ext JS的每一个操作的数据提交地址与服务器中的方法对应起来。这是基于Web开发的,所以不会太难。
上面简单介绍了如何将这个例子修改成不同的语言版本。如果有什么不明白的地方,请给作者留言,讨论不同语言的开发方法。如果您有兴趣将本例修改为其他语言版本,但无法开始,请联系作者,共同将本例修改为其他语言版本的示例,供大家学习。