??xml version="1.0" encoding="utf-8" standalone="yes"?>
2006q?font face="Times New Roman, serif">12?font face="Times New Roman, serif">25?/p>
今天是圣诞节Q进入公司已l四个月了,可是对公司的产品Doradoq几乎是一个门外汉Q?font face="Times New Roman, serif">(我要说明一下,不是我太W,刚刚q入公司接受了一个传l项目的开发,再加之学校的事情Q在此我x应该声明一点,我还是一个大四的学生Q快l束大学四年的学?fn)了Q到最后,׃八糟的事情实在是太多了,q个报告那个报告的?font face="Times New Roman, serif">)
Thomas(我们公司的品经?font face="Times New Roman, serif">)Q还有范l理Q实在是不好意思,q有公司的同事,虽然我比他们中的好多入公叔R早,可惜我不是最厉害的,臛_现在不是?/p>
C个星期ؓ(f)止,学校的事情基本上已经完了Q毕业设计的N也选了Q选的N是《基于智?font face="Times New Roman, serif">Agent的分布式Ud计算处理》,本来一开始自作聪明,以ؓ(f)题目为“移动计”嘛Q就是移动设备的计算处理Q智?font face="Times New Roman, serif">Agent嘛~估计是一UŞ式而已Q我自从从大学二q自学Java开始,接触?font face="Times New Roman, serif">Java中的JavaSE?font face="Times New Roman, serif">JavaEE两个体系Q正好可以借此NQ让我对JavaME有所了解Q也实现了完成毕业设计的作用。结果后来导师选好了以后,看着导师l的材料Q我才知道,我陷入惔潭了?font face="Times New Roman, serif">(导师Q原谅我q么_(d)呵呵·)
今天是我真正学习(fn)Dorado的第一天,公司l了我一些资料,所以我信心十Q我要赶上公司的其他同事Q呵呵~争取过他们哦~已经?fn)惯了要做到最好,我是不是太自大了Q?
q是跟我学习(fn)Java一P首先在公司的官方|站(http://www.bstek.com/)下蝲?font face="Times New Roman, serif">Dorado的最q版本,我下载的版本?font face="Times New Roman, serif">Dorado-5.0 061129.1132Q一q还下蝲?font face="Times New Roman, serif">Dorado 5 快速入门,lg使用技巧,当然q有Dorado?font face="Times New Roman, serif">APIQ-我的最爱?/p>
首先看了Benny(我们公司?font face="Times New Roman, serif">CTO)录制的两D视频说明,依照Dorado安装自带?font face="Times New Roman, serif">doradosampleQ把dorado的大致功能作了一个讲解说明,个h感觉doradoq是挺有市场前景的,只是需要更大的宣传?/p>
好了Q闲话不多说了,开始我?font face="Times New Roman, serif">Dorado之旅吧~
首先Q需要了解的是:(x)视图模型Dorado开发当中非帔R要的对象Q它?yu)装?font face="Times New Roman, serif">Dorado的界面逻辑和操作逻辑Q即主要包含什么数?font face="Times New Roman, serif">dataset Q以?qing)这些数据通过什么Ş式来展现?/p>
下面是我今天学习(fn)中,觉得需要注意的一些地方和术语?/p>
Dataset
1. getDataset(“datasetName? ; 获取?font face="Times New Roman, serif">dataset的引?/p>
2. RecordIterator ri = dataset.recordIterator() ; 获取?font face="Times New Roman, serif">dataset的P代器引用?/p>
3. ?font face="Times New Roman, serif">dataset的遍?br />
4. 可是通过getControl(“controlName? ; 获取lg的引?/p>
注意Q这里得到的?font face="Times New Roman, serif">Control对象Q需要进行类型的强制转换?/font>
5. ”Module数据坞”的说明?/p>
1). 数据坞里面的dataset对象可以被不同的视频模型索引用,以达到数据共享的作用?/p>
2). Module不应该包含Q何的业务逻辑Q这是一U良好的设计模式?/p>
3). Module的创建和销毁由Dorado提供的容器来理Q可以当做一?font face="Times New Roman, serif">Singleton来用?/p>
所以在l大部分情况下,?font face="Times New Roman, serif">Module里面d非静态的属性都不是正确 (或者是不太明智)的做法?/p>
4). Module中的dataset的创建和销毁?font face="Times New Roman, serif">dorado提供的容器来理的,但开发h员可以强刉过scope?font face="Times New Roman, serif">timeout来定?font face="Times New Roman, serif">dataset?br /> 生命周期?/p>
5). scope有三U取|分别?font face="Times New Roman, serif">request (默认)Q?font face="Times New Roman, serif">session Q?application?/p>
需要特别注意的是,在同一?font face="Times New Roman, serif">request?font color="#800000">q箋以不?/font>?font face="Times New Roman, serif">pageIndex Q?font face="Times New Roman, serif">pageSize Q?font face="Times New Roman, serif"> parameters的不同组合来获取Module中的datasetQ但获?font color="#800000">多个不同?/font>dataset 实例?/p>
6). 如果Z提高效率而将scope讄?font face="Times New Roman, serif">application Q则应该注意让此dataset中的数据量不要过大。常用在大型pȝ中的代码表?/p>
6. 通过dataSet.getCurrent() ; Ҏ(gu)Q可以从dataSet获取当前记录。由?font face="Times New Roman, serif">dataSeth
?/font>当前记录”这个,所以大多数操作都是对“当前数据”来说的?/p> Mapping 1. 所有的Mapping单元都是通过名ؓ(f)global的管理单元来q行理的?/p> 2. 在请求映的q程中,dorado有着自己独特的,不同?font face="Times New Roman, serif">Struts
例如Q对于请求:(x)action=”access.login.d?/font>
access 与对应的controller的名UC_(d)
?font face="Times New Roman, serif">login与对应的action的名UC致?/p>
3. controller?/span>clazz属性所表示的是用于处理q个h?/span>class Q类gStruts中的 Action Q而提交的数据Q就?/span>Struts 中的ActionFrom转换成了Dorado?/span>dataset.
4. 对于面的访问安全控?font face="Times New Roman, serif">(卛_能通过dorado式的hQ而不容许以文件结构\?font face="Times New Roman, serif">来访问,?font face="Times New Roman, serif">../demo/XX.jsp)Q可以将view中的safe属性设|ؓ(f)true来控制?/p>
或者通过dorado默认?font face="Times New Roman, serif">setting中的security.accessChecher来控制。不q我可以自主创徏一?font face="Times New Roman, serif">AccessCheckercd?font face="Times New Roman, serif">javacLq行控制。但需要将setting.xml里面?font face="Times New Roman, serif"> “security.accessChecker?/font>属性修改ؓ(f)自己创徏的类路径?/p>
5. 可以通过DoradoContext来访?font face="Times New Roman, serif">dorado的上下文信息Qƈ通过标记量来告诉dorado 的上下文从哪里获取需要的变量?/p>
例如Q?/p>
Object obj = doradoContext.getAttribute(DoradoContext.SESSION,”username? ;
i18n
1. 你需要在i18n目录下新Z?font face="Times New Roman, serif">I18N?font face="Times New Roman, serif">propertiescd文g。此cL件与java中的
一_(d)都是以键Q值对的Ş式存在?/p>
2. ?font face="Times New Roman, serif">dataset中的Fields里面讄?font face="Times New Roman, serif">${Resource.fileName.key}的Ş式进行设|。这个就
有点cM?font face="Times New Roman, serif">JSP2.0中的ELQ其中,fileName是资源文件的文g_(d)不包?font face="Times New Roman, serif">_cn_ZH
{类似的字样。?font face="Times New Roman, serif">key是在文g中的键。这些都是在pȝ?font face="Times New Roman, serif">setting.xml中的
?font face="Times New Roman, serif">common.locale.language?/font>和?font face="Times New Roman, serif">common.locale.country ?/font>来进行的配置。同P你可
以通过修改q两个属性来启用不同?font face="Times New Roman, serif">I18N文g?/p>
3. 对于动态更改用L(fng)国际化资源的情况Q可以?font face="Times New Roman, serif">
LocalHelper.getLocale(“language?”country?,
ResourceManager.getInstance().setDefaultLocale(context,
DoradoContext.SESSION,
locale) ; 来设|?
EL
?font face="Times New Roman, serif">JSP2.0斚w的书c中有大量的l典介绍Q这里就不再记录?/p>
开发时Q只需CDorado内置的隐式变量,卛_?/p>
Skin
1. 皮肤文g夹存攄位置是在skins文g夹下面的?/p>
在用新皮肤Ӟ只需要修?font face="Times New Roman, serif">setting.xml中的view.smartweb2.skin对应的值即可?/p>
2. 同时可以通过修改skin.css文g来修?font face="Times New Roman, serif">dorado中的标签库的所有展C风根{?/p>
3. 同时也支持传l的JSP开发,卛_<head>标签中设|相信的各种属性,以完成让
dorado以用戯定义的Ş式进行展现?br />
以下是我在网上收集的一些经典的SQL语句?/p>