GreenTea 简介系列 -- Hello World

 

前面发布的概览有点冗杂,不够直观,所以这次来点感性的吧。还是老习惯,先写个“ Hello World” 。完成这类任务只需要编写两个文件,无需任何配置。



先来写服务类,下面的代码实在是太平淡无奇了,几乎不需要解释。


package com.xt.gt.demo.service;


import com.xt.core.service.IService;


public class HelloService implements IService {


    public HelloService() {

    }


    public void sayHello(String name) {

        System.out.println("Hello:" + name);

    }

}


所有服务都需要实现“ IService” 接口,这是一个声明接口,不需要实现其任何方法。


下面来画界面。如果你喜欢用 DreamWeaver, 没问题!我画界面多数用 Notepad++ ,偶尔用 Kompozer ,都是免费的!

 

<html><head>

<meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>Hello World</title>

<script type="text/javascript" src="../js/boot.js"></script>

<script>
//
动态加载 CSS 文件

Loader.importCSS();
//
动态加载 JS 文件
Loader.importJS();

</script>

</head>

<body>
您的名字
: <input id="name" value="World" />
<input type='button' value="
提交 " οnclick='sayHello()' />

</body>
<script>
    function sayHello() {
        var helloService = ServiceFactory.getService('com.xt.gt.demo.service.HelloService');
        var name = jQuery('#name').val(); //
读取输入域的值
        helloService.sayHello(name);

    }

</script>
</html>


需要关注的是两行代码:

第一行: var helloService = ServiceFactory.getService('com.xt.gt.demo.service.HelloService');

相当于实例化一个服务类的实例 ; 类名可以使用简写方式,后续文章中再介绍。

最后一行: helloService.sayHello(name); 调用服务器端的“ sayHello” 方法。

你查看一下输出控制台,应该已经有“ Hello:World” 输出了。

 


我想你应该已经从中看出端倪,这样写代码是不是很简单呢? HTML 页面是不是更容易维护呢?服务类是不是更容易测试和复用?动态和静态,表现层和业务逻辑层是不是截然分开呢?如果我重新设计一个 Swing 客户端或者 Flex 客户端,服务类是不是就可以不必重写了?网络传输量是不是很小了?


当然,这种方式不能满足所有的需求! Perl 有个哲学,易者易为之,难者可为之。我们不能因为 10% 的特殊性,让 90% 的常用操作都增加复杂性。

 

 

演示文件可从此处下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值