一直都在写JAVA方面的东西
现在也写写关于客户端脚本的东西
这篇是自己根据DOJO(0.9-1.0)官方教材的不完全翻译(哈哈,把主要和重要的翻译出来).
其实个人觉得
如果你学会一套或几套JS UI框架,对你以后JSF的自定义组件会很有用
对于JSF怎么说了,毕竟JSP使用了标签,注定在定义组件的时候会有很多HTML代码写在后台代码用来渲染一个组件。
如果有套JS UI做渲染,UIComponent,Helper等类做后台的组件核心也是不错的解决方案(国内有EXT+JSF,现在才觉得,JSP的标签。。。唉)!
现在开始DOJO(0.9-1.0)吧
先来看个示例,一个标准的HTML(官方
dojotoolkit.org/book/dojo-book-0-9/part-1-life-dojo/example-1-why-doesnt-anyone-fill-out-their-tax-forms/adding-some)
xml 代码
- <head>
- <title>Taxes, The Surest Thing Next to Death!</title>
- </head>
- <body>
-
- <h1>2007 Tax Form</h1>
- The Sovereign Nation of Googolica, In Search We Trust
-
- <form>
- First Name: <input type="text" length="20" name="first"><br>
- Last Name: <input type="text" length="20" name="last"><br>
- Email Address: <input type="text" length="20" name="email"><br>
- <hr>
-
- <ol>
- <li>
- Please Enter Your 2007 Gross Income
- <input type="text" length="10" name="grossIncome">
- </li>
- <li>
- Please enter the value from line 1. This is your <em>2007 tax</em>
- <input type="text" length="10" name="tax">
- </li>
- <li>
- Would you like to contribute an extra $3 to the Presidential Campaign Fund?
- <input type="checkbox" name="campaign" value="Y">
- </li>
- <li>
- Filing Date:
- <input type="text" length="10" name="filingDate">
- </li>
- </ol>
-
-
- <input type="submit" value="Submit">
- </form>
- </body>
上面的代码是大家都能看得懂!这里就不介绍了!
对于上面的代码,如果使用DOJO UI只需要添加少许几行JS代码或者在已存在的标准HTML中添加扩展DOJO的专有属性。
其实这些魔力的所在是一个叫做
Dijit - 这里我们可以叫她 "dojo widgets",她完成了各种各样的任务。
Dijit - 的初步认识:
首先我们得做两件事,来让
Dijit - 工作(必须在每个使用
Dijit 的页面添加2处代码片段):
1.
xml 代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Taxes, The Surest Thing Next to Death!</title>
- <style type="text/css">
- @import "http://o.aolcdn.com/dojo/0.9.0/dijit/themes/tundra/tundra.css";
- @import "http://o.aolcdn.com/dojo/0.9.0/dojo/dojo.css"
- </style>
- <script type="text/javascript" src="http://o.aolcdn.com/dojo/0.9.0/dojo/dojo.xd.js"
- djConfig="parseOnLoad: true"></script>
- <script type="text/javascript">
- dojo.require("dojo.parser");
- </script>
- </head>
你得导入DOJO的CSS,对于JS脚本,你得导入DOJO的js,当然这里使用的是
aolcdn,你也可以使用你自己服务器上
xml 代码
- <script type="text/javascript" src="lib/dojo/dojo.js"></script>
下面这个代码是你必须的(在你使用DOJO ui,她负责解析)
xml 代码
- <script type="text/javascript">
- dojo.require("dojo.parser");
- </script>
2.
这里要说明的是DOJO默认的
Dijit 的
theme(主题)是Tundra
所以第2个要添加的代码片段如下:
xml 代码
如果你不写上上面的代码,DOJO的 ui会让你看起来觉得很奇怪,因为他们基本上依靠CSS的。
上面说了基本的DOJO该做的事情,下面,来让我们把上面的标准HTML代码,改成DOJO的 UI。
这里要介绍个属性,这就是Dijit引进的新属性dojoType":
代码如下:
xml 代码
- <form>
- First Name: <input type="text" length="20" name="first" dojoType="dijit.form.TextBox"><br>
- Last Name: <input type="text" length="20" name="last" dojoType="dijit.form.TextBox"><br>
- Email Address: <input type="text" length="20" name="email" dojoType="dijit.form.TextBox">
- Filing Date: <input type="text" length="10" name="filingDate" dojoType="dijit.form.DateTextBox">
- <hr>
-
- <ol>
- <li>Please Enter Your 2007 Gross Income
- <input type="text" length="10" name="grossIncome" dojoType="dijit.form.TextBox"></li>
- <li>Please enter the value from line 1. This is your <em>2007 tax</em>
- <input type="text" length="10" name="tax" dojoType="dijit.form.TextBox"></li>
- <li>Would you like to contribute an extra $3 to the Presidential Campaign Fund?
- <input type="checkbox" name="campaign" value="Y" dojoType="dijit.form.CheckBox"></li>
- </ol>
其实个人觉得DOJO的这种模式有点接近JAVA import(当然还有很多这样的框架) 大家注意看
dojoType这个属性。
下面的代码就更像了,因为她把要使用的UI 类库(先借用JAVA的表述来说吧)在你的HTML header处就要导入进来(或许现在C#,JAVA都在使用这样的导入,DOJO也借用,让大家能感觉到亲近,哈哈!)
如下:
xml 代码
- <script type="text/javascript">
- dojo.require("dojo.parser");
- dojo.require("dijit.form.TextBox");
- dojo.require("dijit.form.CheckBox");
- dojo.require("dijit.form.DateTextBox");
- </script>
第一遍DOJO(0。9-1.0)的翻译就到这里,希望大家能互相交流!
完整的DEMO在主页dojotoolkit.org/book/dojo-book-0-9/part-1-life-dojo/example-1-why-doesnt-anyone-fill-out-their-tax-forms/adding-some
分享到:
相关推荐
Dojo Book 0.9-1.0 chm 版,Ajax 辅助。
Struts2-dojo-plugin-2.2.1.jar 是一个针对Apache Struts2框架的扩展插件,主要用于增强Struts2应用的用户界面交互性,特别是通过集成Dojo JavaScript库来提供丰富的AJAX功能和用户体验。这个插件是Struts2与Dojo ...
标题中的"dojo-release-1.4.2-src.tar.gz"是一个特定版本的Dojo Toolkit源码压缩包,属于JavaScript库的范畴。Dojo Toolkit是一个强大的、开源的JavaScript库,广泛用于构建富互联网应用程序(RIA)。这个版本是...
struts2-dojo 跨域时解决拒绝访问的问题
Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR ...
Dojo 0.9 强化了事件处理机制,提供 dojo.connect() 和 dojo.disconnect() 函数来订阅和取消订阅事件,以及 dojo.stopEvent() 来阻止事件冒泡或默认行为。 7. **动画效果**: Dojo 包含 dojo.fx.* 模块,提供了...
Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR ...
Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR ...
标题 "dojo-release-1.6.1-src.zip" 指的是 Dojo 框架的一个源码版本,这是在2011年发布的1.6.1版本。Dojo 是一个广泛使用的JavaScript库,它提供了丰富的功能和工具,帮助开发者构建高性能、可维护的Web应用程序。...
用过的都知道了,没用过的到这里看吧 http://www.dojochina.com/?q=node/64
这个压缩包包含了 Dojo 的多个历史版本,包括0.9、1.0和1.4。这些版本见证了Dojo从早期到成熟的发展过程,每个版本都有其特定的功能特性和改进。 Dojo 0.9 是Dojo工具箱的早期版本,它提供了基础的JavaScript功能,...
Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR ...
"dojo-release-1.10.4"是Dojo框架的一个稳定版本,发布于2015年,它提供了大量的功能和改进,以支持开发人员构建高效、响应式的网页应用。 1. **Dojo核心模块**:Dojo的核心模块包括`dojo/_base`,它包含了基本的...
标题"dojo-release-1.4.3"揭示了我们讨论的是Dojo框架的一个特定版本——1.4.3。这个版本发布于2010年,尽管现在已经有了更新的版本,但1.4.3仍然被许多项目广泛使用,因为它稳定且支持众多特性。 Dojo的核心特性...
struts2-dojo-plugin-2.3.1.2.jar
"dojo-0.3.1-ajax" 是一个与Dojo JavaScript库相关的版本,特别是涉及到其 AJAX(Asynchronous JavaScript and XML)功能的版本。Dojo是一个开源的JavaScript工具包,为Web开发提供了丰富的功能,包括DOM操作、动画...
本压缩包"dojo-release-1.9.1-src"包含了Dojo 1.9.1版本的源代码,对于开发者来说,深入理解其内部结构和工作原理具有极高的价值。 1. **模块化设计** Dojo Toolkit遵循AMD(Asynchronous Module Definition)规范...
struts2-dojo-plugin-2.3.8
dojo是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets,Burstlib,f(m)),这也是为什么叫它a"unified"toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些,长期...