论坛首页 Web前端技术论坛

gxt:ext-gwt入门

浏览 30662 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-12-05   最后修改:2008-12-06

从今天开始研究gxt (我也刚接触,大家一起提高,学习)也就是mygwt加入extjs阵营以后的新版本(gxt1.2),关于gxt(ext gwt)与gwt-ext的区别,请自行查阅相关资料.

再次说明:不是 研究gwt-ext,而是,Ext GWT(原名MyGWT)是一个开源的Google Web Toolkit的扩展,它帮助开发人员非常容易地创建AJAX Web应用。Ext GWT是100%基于GWT的,不需要任何额外的JavaScript或其他第三方jar。Ext GWT也是Ext JS的一个子项目。

Ext GWT: Rich Internet Application Framework for GWT:官方网站:http://extjs.com/products/gxt/,里面有很多丰富的例子和api文档。

一、构建eclispe开发环境

1、前期准备

(1)开发工具:

     j2se6,正确安装及配置。

     Eclipse Ganymede:eclipse V3.4,下载地址为:http://www.eclipse.org/ganymede/;解压直接使用。

(2)相关jar包:

     gwt-windows-1.5.3:下载地址为:http://code.google.com/webtoolkit/versions.html;解压好待使用,本人直接解压到D盘,呆会要用到。

     gxt1.2:下载地址:http://extjs.com/products/gxt/;解压好待使用。

(3)GWT插件:Eclipse Plugins for GWT:cypal.studio.for.gwt-1.0,下载地址为:http://code.google.com/p/cypal-studio/。解压后直接 Copy Eclipse安装目录/plugins下即可。

2、配置 GWT Home目录

打开 Eclipse Window—Preferences—Cypal Studio 选择 Gwt的目录(即gwt-windows-1.5.3目录)。



 

如果没有出现Cypal Studio ,说明插件没有安装成功。必须放在正确的位置。同时,GWT Home,一定要选择在gwt-windows-1.5.3解压目录下,否则待建立module时jar找不到,同时有可能带来其他问题。呵呵。我就有过莫名其妙的错误。

二、编写简单实例

1、新建一个动态 web项目, File—New—Other—Web—Dynamic Web Project,在 Configurations中选择 Cypal Studio for GWT,其他的默认即可。 注意,Target Runtime 一定要为<None>,不要选择服务器,如果选择了服务器,下一步运行的时候会出现异常,还得手动删除它,所以不要选择服务器,下一篇将介绍在tomcate6上运行配置。这里运行是在GWT自己的环境下运行。



 

2、创建 Module模型

项目上点击右键 New—Other—Cypal Studio—Module,输入包名 org.gxt,类名 Test


 

 

 

创建成功后,正确工程为:



 

3.在Test.java的onModuleLoad() 方法中加入Window.alert("success");

 

package org.gxt.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;

public class Test implements EntryPoint {
	public void onModuleLoad() {
		Window.alert("success");
	}
}

 

三、配置运行环境

选择 Run—Run Configurations—Gwt Hosted Mode Application,选择 New,新建一个运行实例new_gxt, Project中选择 Gxt Module会自动选择所要运行的模型类Test.java。



 

点击Run,自动启动GWT运行环境:



 

ok,运行成功。

四、编写ext gwt 的window测试范例。

以上还没有用到gxt1.2文件夹中的东西,现在该用到它了。把WebContent文件夹删除掉,新建了一个lib文件夹,复制gxt.jar到lib下。



 

把lib/gxt.jar添加到Java Build Path里面



 

在Test.gwt.xml中加入(继承GXT):

<inherits name='com.extjs.gxt.ui.GXT'/>

在Test.html中加入(默认样式表):

 <link rel="stylesheet" type="text/css" href="css/ext-all.css" />

ok,现在在Test.java中onModuleLoad()方法注释掉Window.alert("success");同时为避免出现重复,删除掉已经导入的com.google.gwt.user.client.Window包;添加gxt的com.extjs.gxt.ui.client.widget.Window;完整代码如下:

 

package org.gxt.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.extjs.gxt.ui.client.widget.Window;


public class Test implements EntryPoint {

	public void onModuleLoad() {
		Window window=new Window();//相当于html的div
		window.setSize(500,300);//设置高度和宽度
		window.setHeading("success");//设置标题
		window.setPlain(true);//设置透明
		window.show();
		RootPanel.get().add(window);
		
		
	}

}

  

再次运行New_Gxt(已经建立的运行环境), 想要的结果出现了,呵呵。



 

 

结果:

 

 

 

 

正确出现窗体,呵呵,成功。下一篇在tomcate6下配置,不用gwt自带的运行环境。

  • Gxt.war (583.9 KB)
  • 下载次数: 1272
  • 大小: 62.4 KB
  • 大小: 62.1 KB
  • 大小: 35.5 KB
  • 大小: 41.1 KB
  • 大小: 14.5 KB
  • 大小: 62.5 KB
  • 大小: 53.3 KB
  • 大小: 12.8 KB
  • 大小: 68.5 KB
  • 大小: 52.4 KB
  • 大小: 42.6 KB
   发表时间:2008-12-06  
我用myeclipse6.5.1,jdk1.5,gwt-windows-1.5.2,gxt-1.2,cypal.studio.for.gwt-1.0,还需要什么软件么?我在建立项目时没有File—New—Other—Web—Dynamic Web Project ,是怎么回事?我还有什么错误吗?
1 请登录后投票
   发表时间:2008-12-06  
myeclipse 好久没有用,因为是授权版本,所以工作中不允许用,软件应该是没有问题,个人觉得,可以试试建立web项目就可以了,呵呵,多试试,应该没有什么问题的。
0 请登录后投票
   发表时间:2008-12-08  
公司也不能用myeclipse,只是自己的电脑是用这工具。去公司找个电脑试试。
0 请登录后投票
   发表时间:2008-12-11  
公司不能用myeclipse 吗?不会吧
0 请登录后投票
   发表时间:2008-12-16  
想跟楼主一起研究学习。想问一下,我对JS一点也不熟,在这种情况下,是不是学习Ext-Gwt更好于学习ExtJS?
0 请登录后投票
   发表时间:2008-12-17  
newchengse 写道

想跟楼主一起研究学习。想问一下,我对JS一点也不熟,在这种情况下,是不是学习Ext-Gwt更好于学习ExtJS?

从入门方面来说,你可以不用了解js,等深入了解后,js还是可以起到辅助作用的。作为WEB开发,对js的了解还是很重要的。
0 请登录后投票
   发表时间:2008-12-17  
谢谢楼主回复。
    我在企业里工作,由于人手不足,没有专门的美工一职。平时搞页面的时候都是我们这些程序员在搞,很头大。因此想用Ext减轻一些页面UI方面的工作量。原来打算开始学习EXTJS的,突然发现楼主的这篇文章,很感兴趣,竟然可以用纯java的方式构建基本上和ExtJS一样的页面。但又有些担心,我们平时使用struts2+hibernate+spring开发,引入ExtJS纯粹是想减轻UI方面的工作量,那在ssh的架构下,是否可以使用Ext-Gwt呢?
0 请登录后投票
   发表时间:2008-12-30  
gxt在struts2中怎么使用??
0 请登录后投票
   发表时间:2009-01-03  

发现GXT的model的写法:

  public Stock(String name, double open, double change, double pctChange, Date date, String industry) {
    set("name", name);
    set("open", open);
    set("change", change);
    set("percentChange", pctChange);
    set("date", date);
    set("industry", industry);
  }

  public String getIndustry() {
    return get("industry");
  }

  public void setIndustry(String industry) {
    set("industry", industry);
  }

 


Stock类也要继承:import com.extjs.gxt.ui.client.data.BaseModel;

不能直接采用普通的getter setter 的model吗?反正我测试取不到具体的属性值。

如果不能和普通的model兼容,岂不是相当麻烦

 

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics