`
joshokn
  • 浏览: 103431 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

HelloWorld

    博客分类:
  • Dojo
阅读更多
[声明]:此文章只是偶得学习总结,如果您觉得不爽,可以到下面的网站看原文:
http://dojo.jot.com/WikiHome/Tutorials/HelloWorld#Introduction(我永远认为看原文远比看翻译理解的透彻)。
今天要小试Dojo,初次接触,依然从HelloWorld开始:
1.
从它的tutorial中知道,先要建立文件结构,所谓的文件结构,随便建,只是待会用到相对路径的时候能写清楚就可以了
如此:
引用

- HelloWorldTutorial/
    |
    |---- js/
          |
          ---- dojo/

http://dojotoolkit.org/download/下面的release解压到dojo下面
引用

- HelloWorldTutorial/
    |
    |-- js/
          |
          -- dojo/
               |
               -- build.txt
               -- CHANGELOG
               -- demos
                    |
                    -- ..
               -- dojo.js
               -- dojo.js.uncompressed.js
               -- iframe_history.html
               -- LICENSE
               -- README
               -- src/
                    |
                    -- ..

还是那句话自己可以搞清楚相对路径就OK了。

2.例子中用到了dojo组件中的button,风格还真是蛮有特点的,待会就知道了
在HelloWorldTutorial/下面建立HelloWorld.html吧
这是最后整理在一起的文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Dojo: Hello World!</title>

    <!-- SECTION 1 -->
    <script type="text/javascript" src="js/dojo/dojo.js"></script>
	<!-- SECTION 2 -->
	<script type="text/javascript">
		 dojo.require("dojo.event.*");
		// Load Dojo's code relating to widget managing functions
         //dojo.require("dojo.widget.*");
		// Load Dojo's code relating to the Button widget
         dojo.require("dojo.widget.Button");
		 
		 function helloPressed()
      	{
        	dojo.io.bind({
                       url: 'response.txt',
                       handler: helloCallback
                    });

     	}

     	 function init()
      	{
       		var helloButton = dojo.widget.byId('helloButton');
        	dojo.event.connect(helloButton, 'onClick', 'helloPressed')
      	}

      	dojo.addOnLoad(init);
		
		function helloCallback(type, data, evt)
		  {
		    if (type == 'error')
		      alert('Error when retrieving data from the server!');
		    else
		      alert(data);
		  }


	</script>

  </head>

  <body>
  	<button dojoType="Button" widgetId="helloButton">Hello World!</button>
  </body>
</html>

解释一下,
首先你得html文件中需要有dojo自己的
<script type="text/javascript" src="js/dojo/dojo.js"></script>

dojo.js文件,
其二,'dojo.require'类似java的import ,可以看到文件中包含了dojo的button,怕麻烦就直接dojo.require("dojo.widget.*");将所有的widget引入,[这样做极其糟糕,不好的编程习惯!]
其三,‘ dojo.require("dojo.event.*");’组件和事件绑定。‘function init()’在html运行后被加载,init()中寻找‘button's id’,绑定相应的事件处理函数。
其四,看看这段代码很有意思:
function helloPressed()
      {
        dojo.io.bind({
                       url: 'response.txt',
                       handler: helloCallback
                    });
      }

'url':url当然是将数据(=HelloWorldTutorial/下面建立一个'response.txt'文件)送出的了,tutorial上面讲送往服务器,我想这里就本地了,有送就有回,在'服务器'返回数据的时候就调用
handler: helloCallback
处理了.'helloCallback'里面的参数顾名思义了.
到此为止已经可以运行这样一个用dojo组件编写的html页面了。
分享到:
评论

相关推荐

    Helloworld_helloworld_

    在提供的描述中,“输出HELLOWORLD然后输出Helloworld最后的最后的输出Helloworld”暗示了可能的练习目标是让初学者了解字符串的处理和输出格式。这可能涉及到变量的使用、字符串的拼接以及大小写的转换。例如,可以...

    OpenWrt之helloworld程序

    在这个"OpenWrt之helloworld程序"中,我们将探讨如何在OpenWrt环境中编写、编译和运行一个简单的 HelloWorld 程序,这将帮助初学者了解OpenWrt的开发流程。 首先,`helloworld` 文件通常是一个C或C++源代码文件,...

    openwrt可用helloworld程序

    2. 编写源代码:在`src`目录下创建一个名为`helloworld.c`的C语言源文件,内容如下: ```c #include int main() { printf("Hello, World!\n"); return 0; } ``` 3. 配置Makefile:`Makefile`应包含以下内容,...

    汇编语言实现输出helloworld

    根据给定的文件信息,我们可以总结出以下关于“汇编语言实现输出HelloWorld”的相关知识点: ### 汇编语言简介 汇编语言是一种低级编程语言,它为每种类型的计算机提供了一对一的机器指令映射。汇编语言程序通常由...

    深入淺出Hello World ( HackingHelloWorld-PartI)

    ### 深入淺出Hello World —— Hacking HelloWorld (Part I) #### 概述 在《深入淺出Hello World》这一系列文章中,作者Jim Huang(黃敬群/"jserv")通过深入剖析经典的“Hello World”程序,旨在帮助读者理解在...

    Spring4 HelloWorld

    8. **获取Bean**:在程序中,我们可以从`ApplicationContext`获取已定义的Bean,如`HelloWorld helloWorld = context.getBean("helloWorld", HelloWorld.class);`,然后调用其方法进行交互。 9. **运行和测试**:...

    1.如何创建QT项目-QTcreator输出HelloWorld

    如何创建QT项目之QTcreator输出HelloWorld,小白保姆级别的教程,还有提供参考链接. HelloWorld程序是一个基于Qt框架的简单示例程序,用于展示如何使用Qt进行图形界面编程。这个程序的主要目的是在窗口中显示一个...

    helloworld

    helloworld

    一个简单的qt版helloworld程序

    本压缩包包含的“一个简单的qt版helloworld程序”是初学者接触Qt编程的一个基础示例,旨在帮助理解Qt的基本语法和项目构建过程。 首先,让我们来理解一下Qt中的"Hello, World!"程序的基本结构。在Qt中,我们通常会...

    JNI入门之HelloWorld(一)

    ### JNI入门之HelloWorld(一)详解 #### 一、引言 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码与其他语言写的代码进行交互。JNI接口提供了若干公共服务,并为Java虚拟机和本机应用程序或...

    linux环境下用makefile编译简单的helloworld程序

    在这个“linux环境下用makefile编译简单的helloworld程序”的主题中,我们将深入理解如何创建并使用`Makefile`来编译一个基本的C或C++程序,例如“helloworld”。 首先,`helloworld`程序是一个经典的入门示例,...

    springboot-helloworld.rar

    《SpringBoot HelloWorld初探》 在当今的Java开发领域,SpringBoot框架因其简化Spring应用的初始搭建以及开发过程而备受青睐。"springboot-helloworld.rar"这个压缩包,显然是一个入门级的示例,旨在帮助开发者快速...

    HelloWorld_打印HelloWorld_

    这个"HelloWorld_"项目正是这样一个入门实例,用于在Visual Studio这个强大的集成开发环境中展示基本的代码编写和运行流程。 首先,让我们了解什么是Visual Studio。Visual Studio是由微软开发的一款全面的开发工具...

    Hello World.rar_c++ hello world_world

    g++ HelloWorld.cpp -o HelloWorld ./HelloWorld ``` 这将生成一个名为 "HelloWorld" 的可执行文件,运行它就会在终端看到 "Hello, World!"。 了解了基础的 "Hello, World!" 程序后,你可以逐步学习C++的其他核心...

    Java JNI HelloWorld.rar

    在这个"Java JNI HelloWorld"示例中,我们将深入探讨如何使用JNI来创建一个简单的“Hello, World!”程序。 首先,`HelloWorld.java`是Java源代码文件,其中定义了一个本地方法`native void sayHello()`。在Java中,...

    struts2.0开发环境的搭建及HelloWorld的演示

    本教程将详细介绍如何在MyEclipse 6.5.0 GA环境中搭建Struts2.0开发环境并实现一个简单的"HelloWorld"应用。 首先,你需要访问Apache Struts的官方网站(http://struts.apache.org/download.cgi#struts216)下载...

    creo二次开发helloworld

    本教程将围绕“creo二次开发helloworld”这个主题,详细介绍如何在CREO 2.0环境中利用Visual Studio 2010进行基本的二次开发。 首先,我们需要理解CREO的二次开发主要基于Parametric Technology Corporation(PTC)...

    struts2 helloworld

    "Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...

    Maven的HelloWorld程序

    **Maven的HelloWorld程序** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。对于初学者来说,理解并创建一个基本的Maven项目,例如“HelloWorld”程序,是入门的...

Global site tag (gtag.js) - Google Analytics