- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1?引言
???自從B2C购物出目前人們的视野中,電子商务就在全世界范围内受到了格外的关注,并且得到了迅速的发展。從現实角度来看,目前购物网站的普遍顾客是购置者难以自已想要购置的商品甚至顾客在花费很大的精力和時间後虽然找到了自已想要的产品,最终却由于其他原因而放弃购置。诸多报道指出,推销商們普遍對目前的网络行销感到失望,尽管如此,電子商务無疑是目前最佳的在线商品展示的媒体和工具。然而,网上产品展示的目的不仅仅是展示产品,而更重要的是通過让客户更多地理解产品而提高产品的购置率。因此,购物网站目前所面临的最大挑战之一就是网站的设计,怎样使得网页可以有效地展示自已的产品,同步以便顾客的使用,使顾客以愉悦的心情选购称心如意的商品。
本系统的目的和意义就是应上述挑战而尝试為顾客提供一种操作简朴以便的网上交易系统。运用本系统,顾客可以自由地浏览商品,注册成為网站會员,选择商品加入自已的购物車,而後生成订單,实現网上购物。
?
?
2?系统应用的关键技术
2.1?EXTJSMVC的简介
ExtJs前台我分為了model,store,view,controller层4层架构,對于model层,用于接受後台传入的Pojo封装成前台数据Model中,创立一种model需要define的一种继承于Ext.data.Model的一种类,其中关键不可少的配置项是fields,例如
fields:[{name:id,type:int,srotable:true},
{name:text,type:string,srotable:true}]
其中name代表字段名称,type為字段类型,类型只有string、float、int、boolean、date、auto(默认值,意味著無convert措施)6种對应後台pojo,形成一条数据,而stroe层则是数据集合,也就是model的集合。開发時我們常常是用代理的方式從後台获取一条json数据,形成stroe,如
proxy:{
type:ajax,
url:./category/combo_category.do,
reader:{
type:json,
root:rows
},
writer:{
type:json
}
}
是用ajax的代理方式從後台获取一种数据集,stroe還得指定你使用的model是那個,model配置项就可以指定你要指定的Model类,用字符串的形式写上类名即可配置好stroe.這時候搭建主面板视图,主面板是一种border布局,上方是login信息以及系统名称,左边属性图,中部是数据表格以及某些表單。完毕的mvc架构還需要controller层,這時候我們要先建立一种app.js,内容如下:
Ext.onReady(function(){
Ext.QuickTips.init();//启動提醒功能
Ext.Loader.setConfig({//動态加载js文献
enabled:true
});
Ext.application({
name:core,//名称
appFolder:./core,//所在的目录
launch:function(){
Ext.create(Ext.container.Viewport,{
layout:fit,
border:0,
items:[{
xtype:mainviewlayout
}]
});
},
controllers:[core.app.controller.MainController]
});
});
我們用一种Viewport搭建系统主界面,其中items中放入的mainviewlayout就是系统主视图的别名,通過這种方式可以直接加载mianviewlayout类到页面,
Cotrollers配置的则是我們的控制器层,控制器层的申明也相称的简朴,创立一种继承与Ext.app.controller的类,写一种初始化措施中的this.controller措施中则是我們控制界面按钮效果的重要地方。我在搭建這套界面是写了一种公用的加载其他控制器和页面视图的措施:
this.addFunItem=function(funInfo){
if(funInfo){
varmainView=funInfo.mainView;
varfunPanel=mainView.down(funInfo.funViewXtype);
if(!funPanel){
self.application.getController(funI
文档评论(0)