在gwt项目中自己实现PopupPanel功能

在gwt项目开发中遇到这样一个问题:使用PopupPanel后导致调用JavaScript绑定(例如用JQuery)的事件实效,经过几番折腾之后,终于找到了一种解决方法。

这里当然只是个人的一种解决办法,如果有更好的可以告诉飞尘哦,大家交流一下。

先来说说我的方法吧。

就是通过自己实现PopupPanel的功能及效果来避免这个问题,实现起来也不是很困难。

大概的思路就是通过给widget添加样式并设置隐藏显示属性来实现自定义的PopupPanel。

首先就是创建widget了,可以在代码中新建,也可以通过uibinder获取*.ui.xml中已经设计好的widget。此处假定widget名为someWidget

接着实现两个方法,例如名为hide()和show(),在方法中设置someWidget的属性

然后在原来需要PopupPanel功能的地方,使用自己的方法替换就可以了,当然一些另外的功能,如窗口位置居中、模式化窗口等等需要自己来实现。本文意在抛砖引玉,望各位不要见笑,嘿嘿。

在gwt项目中使用cookies

在gwt项目中使用cookies记录用户有关信息,开发模式下似乎有点问题,不能设置cookies,domain那里好像是null,所以cookies设置失败,不知道是不是代码写的有问题,也没有时间仔细研究,每天事情一大堆,没完没了的,而且现在人家不喜欢gwt,原来使用gwt开发的模块正在一点一点被侵蚀掉,迟早还是会退化到……

个人接触gwt时间不长,但是还是比较喜欢的,java里写起来很舒服,现在用aptana主要写js,虽然还是eclipse,但是js真的感觉不顺,再加上jquery,还有plugins,真是感觉好乱啊,可能是对jquery还不够熟悉吧。

使用gwt最大的障碍就是它得编译,项目大了之后,编译一次要好久,就是平时开发模式,eclipse也显得慢慢腾腾。在这一点上,的确没有js的轻量级,保存刷新就好了。不过个人比较关心的是项目整体的效率,不知道有没有能够将gwt和jquery或者其他js框架开发出来的项目进行一下性能、效率等等方面的对比,偶对技术了解到实在是太肤浅了,望洋兴叹啊~~

cookies使用还是比较简单的,可以先参考一下这个例子

还有google官方的文档也是很有帮助的

这里指向的是最新gwt2.1版本的文档,其他版本可以将地址中的版本号替换即可,最新版的增加了一些方法,使用时注意版本。

更新wordpress至最新3.0.4版本

又一次大风降温了,冬天还是很给力的,2010年转眼又要过去啦——

似乎每次写这个日志的时候总是文不对题,先扯一大堆其它的,然后再寥寥数语描绘一下更新了,就是这么简单,呵呵。

其实是借写日志的时候牢骚几句,没有那种独立成文的本事,偶可不是什么博客高手~~

明天再奋斗一天就可以迈入2011年了,新的一年要有新的发展,先祝朋友们新年快乐(记得前几天看到qq弹出消息提示:禁止中文出版物胡乱引用英文,挺好的,个人感觉)!

最后才是本文的中心思想(小学的时候是这么讲的——开篇点题,结尾扣题),升级了wordpress到最新版本3.0.4,是的,升级而已,不要太紧张,嘿嘿。

解决eclipse更新安装插件慢的方法

在eclipse中安装插件,一直停在验证那里,当已经安装的插件有很多时,速度就更无法忍受了。

那怎么解决呢?其实很简单,慢就慢在验证关联性上,只要少验证一些,或者不验证就可以了,这样速度会有很大的提升。

在菜单Help -> Software Updates -> Available Software -> Manage Sites中,可以看到许多条目,取消选中状态后,安装更新就不会对其进行验证了。

至于是否全部取消选择,可以依个人需要自行斟酌。

下面看一下别人是怎么说的

Installation is taking a long time on Eclipse 3.4. What can I do about this?

When installing a new plugin on Eclipse 3.4, Eclipse checks for updates of all of that plugin’s dependencies. This can take quite a while. To keep Eclipse from doing this overzealous update check, go to Help > Software Updates > Available Software > Manage Sites. You’ll be presented with a list of Available Software Sites. Uncheck all of the update sites listed except for Google Plugin for Eclipse 3.4 and Ganymede Update Site. Later, when you are interested in updating other components, check them again.

飞尘测试速度提升很明显,有此问题的朋友可以不妨一试哦。

eclipse使用maven插件发布项目缺少类的问题及解决方法

项目一直使用maven进行管理,在升级了eclipse到3.6版本后,导入原来的项目在tomcat中无法正常运行,错误为找不到某些类,原因其实是maven相关依赖包没有发布到项目的类路径下。

经过一番查找,在国外一篇文章里看到了解决方法,经笔者测试有效,但不保证具有通用性,环境配置与项目关系很紧密,问题表现相似,但原因可能千差万别,多思考,即可迎刃而解。

英文原文在这里可以查看

下面是问题描述

In Eclipse 3.5 or early version, in order to deployed the Maven dependencies to the correct “/WEB-INF/lib” folder, you have to configure the dependencies via “Java EE Module Dependencies”, and the updated “.classpath” file will look like following :

File : “.classpath”, by Java EE Module Dependencies…

在eclipse 3.5 及之前的版本中,通过配置“Java EE Module Dependencies”选项,Maven dependencies会发布到“/WEB-INF/lib”路径下,在 “.classpath”文件中,可以看到类似下面的内容:

Since Eclipse 3.6, the “Java EE Module Dependencies” is replaced by “Web Deployment Assembly”, but you can do the same via the “Referenced Projects Classpath Entries”, however, it will update the “.classpath” file as following :

在eclipse 3.6版本中,“Java EE Module Dependencies”选项被“Web Deployment Assembly”所代替,同样需要设置:

Sadly, the default (value=”../”) makes all the Maven’s dependencies failed to deploy.

而value=”../”就会导致maven依赖包无法正确发布。

解决方案:

Not a big issue, you still can modify the (value=”../”) to (value=”/WEB-INF/lib”) manually, but it will get override every time you run a Maven build. No worry, there are still have two solutions :

1. WTP Support
Ignore the “Referenced Projects Classpath Entries” settings, instead, make the Maven supports WTP 2.0

mvn eclipse:eclipse -Dwtpversion=2.0
It will generate a new file named “org.eclipse.wst.common.component“, under “settings” folder, see a portion of this file :

File : “org.eclipse.wst.common.component”, by WTP

With WTP support, it helps to deploy the Maven dependencies to “/WEB-INF/lib” folder correctly.

2. m2eclipse plugin
Install the m2eclipse, an Eclipse plugin to integrate Maven into the Eclipse IDE. After the installation, right click on the project folder, select “Maven” –> “Update Project Configuration“, it will update the “.classpath” file accordingly, see a snippet

File : “.classpath”, by m2eclipse

It helps to deploy the Maven dependencies correctly as well.

上面的英文都比较简单,就不再详细翻译了,手工修改类路径会被重置,启用WTP支持或者使用m2eclipse插件即可完美解决。

使用css模拟实现圆角矩形兼容多浏览器

这个方法也是在网上看到的,自己实际使用了一下,确实可以达到圆角矩形的效果。

简单说明一下实现的思路吧:

圆角不是通过设置一个容器的边框实现,那样的话对于ie浏览器是不兼容的,也没有使用背景图片来拼接,而是通过多个容器的边框样式组合成形似圆角的效果。

对于需要调整圆角的弧度的话,可能还需要更多的容器,不过理解了方法,接下来的事情就是尝试了。

下面给出一个例子代码:

html:

css:

下面是效果

这是一个圆角矩形