- 浏览: 187584 次
- 性别:
- 来自: 杭州
最新评论
-
qja:
这个classpathContainersLast 是什么意思 ...
maven-eclipse-plugin 使用示例 -
litianqwe:
楼主 我是看着你的视频学习gwt的,觉得它好生硬,我有个问题想 ...
GWT开发游戏尝试--植物大战僵尸 -
litianqwe:
楼主 我现在有个问题 那我现在用GXT如果想对某一行增加一个双 ...
2.Listener 监听器系统 -
lxzh504:
简单明了,写的非常好。
scalable io in java学习 -
ocaicai:
很有研究能力,思维清晰!
GWT中对不同浏览器兼容性实现原理
文章列表
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.LocaleResolver;
public class WebContext
{
private WebContext()
{
}
public static WebContext getWebContext()
...
DOM.eventGetType()可以获得事件类型,在DOM中海油一些辅助方法
方法说明eventGetAltKey(Event)事件触发时ALT键是否被按下eventGetButton(Event)获得哪个鼠标按钮按下,包括Event.BUTTON_LEFT,Event.BUTTON_MIDDLE Event.BUTTON_RIGHTeventGetClientX(Event)eventGetClientY(Event)eventGetCtrlKey(Event)Ctrl是否按下eventGetCurrentEvent()获得当前事件eventGetKeyCode(Event)获得键码eve ...
浏览器里面的事件处理机制包括2种,IE浏览器到事件处理机制叫冒泡(Event Bubbling) IE以外的其他浏览器到事件处理机制叫事件捕获(Event Capturing)
W3C定义了事件处理标准,即浏览器既支持事件冒泡,又支持事件捕获,可以通过addEventListener()的参数设置使用哪种事件处理机制。但是IE只支持冒泡,而其他浏览器支持W3C标准。GWT对2中事件处理机制都提供了良好的支持。
在每个Widget/Panel中,需要通过sinkEvents()方法为它引入适当的事件,又由于所有的Widget都默认实现了EventListener监听接口,这 ...
<html>
<head></head>
<script>
window.addEventListener('click',function(event){
var url=event.target.href;
if(url.indexOf('http://')==0){
alert(url);
event.preventDefault();
alert('pause');
event.stopPropagation();
}
},true);
</script> ...
创建一个测试数据rss.xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>焦点新闻</title>
<item>
<title>百度今晨被黑客攻击</title>
<link>http://www.iteye.com/news/12883</link>
</item> ...
GWT除了可以使用RPC来通信外,还可以使用普通的GET POST来发送请求。
用的就是RequestBuilder类。
//创建请求的Builder
RequestBuilder builder=new RequestBuilder(RequestBuilder.POST,GWT.getHostPageBaseURL()+"a.txt");
//设置超时时间
builder.setTimeoutMillis(10000);
Request req=builder.sendRequest(null, new RequestCallb ...
在使用GWT后,我们将用JAVA来编码,可能我们之前已经写了一些javascript类库,现在转用GWT是不是意味着这些都无法使用,需要重新实现一遍呢
其实不需要,因为GWT给我们提供了嵌入javascript的技术,叫做JSNI(JavaScript Native Interface,JavaScript本地接口)。
JSNI可以实现以下功能
1.从JavaScript中直接执行Java方法
2.从JavaScript中调用Java代码,或从Java代码中调用JavaScript代码
3.在Java和Javascript之间抛异常
4。在JavaScript中读写Jav ...
在GXT中已经提供了相关的类,能够让我们很方便的操作cookies
就是下面这个
com.extjs.gxt.ui.client.state.CookieProvider
他有一个构造方法
/**
* Creates a new cookie provider
*
* @param path The path for which the cookie is active (defaults to root '/'
* which makes it active for all pages in the site)
* ...
GWT中的RPC机制可以让我们在前台页面直接调用后台的servlet,而且还能在前台就封装成一个对象,调用后台的方法,免去了中间的拆装。
但是一般前台展示用的是VO,而后台程序用的是PO,2者之间的转换还是有些麻烦,要写很多ge ...
先贴上源代码:
/*
* Ext GWT - Ext for GWT
* Copyright(c) 2007-2009, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
package com.extjs.gxt.ui.client;
import java.util.Map;
import com.extjs.gxt.ui.client.core.FastMap;
import com.extjs.gxt.ui.client.event.BaseObservabl ...
下面看看Controller的部分代码
/**
* Registers the event type.
*
* @param types the event types
*/
protected void registerEventTypes(EventType... types) {
if (supportedEvents == null) {
supportedEvents = new ArrayList<EventType>();
}
if (types != null) {
...
在GXT中,官方已经给了我们一个MVC设计模型。我们只需要了解他,然后使用它就行了。
其主要的代码中: com.extjs.gxt.ui.client.mvc包中。
包括以下几个类:
AppEvent 事件类
Dispatcher 负责应用程序的事件转发
DispatcherListener 事件转发监听器
Controller MVC模型中的C 控制器
View MVC模型中的V 视图
Dispatcher是一个单例,负责整个应用程序中的所有事件的分发。
以下是分发事件的方法:
private void dispatch(AppEvent event, boolean creat ...
目前大多数的 JS框架都有跨浏览器到功能,他们会根据不同的浏览器来执行不同的代码,从而达到一致的功能。
GWT也有这种兼容所有浏览器到功能,他是如何实现的呢。
GWT中每一个模块都有一个gwt.xml配置文件,
如: com.google.gw ...
这里的Element是指com.google.gwt.dom.client.Element
因为GWT里面有不止一个Element类,所以请不要混淆
Element表示的是js里面的element对象,看一下他源代码里的部分方法
/**
* 这是我们在js中常用的innerHTML方法,使用了JSNI
*/
public ...
GWT中的JavaScriptObject类是一个比较底层的类,
他把javascript对象包装后变成了一个Java对象,这样我们便可以通过Java语法来操作这个javascript对象了。
看一下这个类的源码,以下是他的3个静态方法,分别是创建javascript的数组,函 ...