NetBeans6对于VisualWeb的修改

  NetBeans6的正式版终于出来了,这阵子稍微试用了一把,因为我这阵子是用VisualWeb来做项目的,所以就比较留意这方面,发现NetBeans6对于VisualWeb有如下的修改:


  1、在新建工程的时候已经找不到专门的VisualWeb功能,而是在新建Web工程后在选择框架的时候选择(我开始用的时候找了好久才找到这个)。或者换一种说法吧。在NetBeans6之前,我们通常叫VisualWebPack,因为它是NetBeans的一个Pack,现在在NetBeans6,已经做成一个单独的开源Project——Woodstock,详细可以看这个地址:https://woodstock.dev.java.net,这里有不少源代码和帮助文件,当初我就郁闷:怎么NetBeans不是开源的吗?怎么没有附上VisualWeb的源代码,原来是在这里。它在NetBeans的插件名称也由以前的Visual Web Pack变成Visual JSF了。
由于变成了插件形式,相对来说升级比较容易,具体可以访问:http://wiki.netbeans.org/wiki/view/UpdatingWoodstockLibraryInNetBeans6


  2、更换组件的渲染方式。原来的渲染是直接生成html代码的,现在的渲染是生成html的框架,然后使用dojo来设置相应的值。打个比方,原来渲染StaticText组件的时候是生成
[code]<span id="XXX">内容</span>[/code]现在是
[code]<span id="XXX"></span><script type="text/javascript">dojo.addOnLoad(function() {webui.suntheme.widget.common.replaceElement("XXX", {"id":"XXX","widgetType":"webui.suntheme.widget.staticText","visible":true,"value":"内容","escape":true});});</script>[/code]
也就是说,把渲染方式以插件的形式提供,然后使用dojo在客户端渲染出来。这里跟金蝶的Apusic有点相似,新版的Apusic的jsf貌似也是用dojo来渲染的。(突然想到一个问题,假如有一天dojo也像Ext一样需要授权费用,那这个VisualWeb怎么办? ^_^)
由于更改了渲染方式,带来了另外一个问题:页面显示的速度较慢。页面显示过程:首先是载入所有的页面元素,注意,那些jsf组件这个时候并没有显示,其次例如dojo显示jsf组件,最后,对于某些组件填写数据。由于经过了几个过程,所以相对于以前的直接渲染html来说,给人的感觉是速度变慢了。


  3、组件是VisualWeb的核心,不过今次没有对组件有什么大的动作:

以前表现得非常遭糕的Calendar组件,终于得到改善了,现在已经没有以前那种一出来就是25k的html代码了,不过还有问题:calendar的渲染还是有待改进,例如,弹出选择器的时候,覆盖背景会出现错位,选择器不能移动,不会自动消失,格式说明文字(即那个“年/月/日”的输入时间的格式)不能去掉等等,估计这个组件还是不能用于生产。

在系统应用中广泛使用的表格组件,仍然没有什么新的突破:部分UI不可定制、部分CSS不可修改,其设计器原有的bug也没有修改,例如自动钩选paginateButton属性这个bug。它和DataProvider体系仍然是紧密结合。至于DataProvider体系,整体没有什么大的变化,设计器默认还是把所有数据放到session里面。SQL编辑器界面是漂亮了不少,不过功能没有什么大的变化。

和FileUpload组件配合使用的UploadFilter,跟以前一样,当上传文件太大是没有任何提示并且继续执行剩余的操作。窃以为,应该提示用户上传文件过大,并且中止连接。

其余的组件基本没有什么变化。

需要注意的是,新版本里面,新建JSF组件已经不需要像以前那样在faces-config.xml声明它的render、component等,而是可以直接使用Annotation,具体可以看:https://woodstock.dev.java.net/FacesAnnotationProcessingQuickGuide.htm


  4、css设计器比原来的好用一点,不过跟Dreamweaver这些专家级设计软件比较差距还是不小。另外,以前制作的CSS,在vw的page有时会显示不正常,需要重启NetBeans,现在改进了不少。


  5、新版本的VisualWeb对于div + css的识别加强了很多,以前把dw中做好的div + css放到vw中,设计界面不能正常显示,现在放到新版本中,可以正常显示,而且识别率颇高,可以满足基本需要。这个改进非常重要,因为jsf主要是使用CSS来布局的,以前不能使用div + css布局,vw的布局一直是其弱项,现在的改进,无疑是重要的改进。因为我们可以在dw等专业的UI设计软件中按照div+css的标准设好界面,然后把body里面的HTML代码copy过来和css copy过来。使美工和程序员分离成为可能。
这里有一个不错的UI模版插件,做得不错:http://blogs.sun.com/winston/entry/page_layout_templates
不过话又说回来,UI设计的重绘(即修改了jsp或者java后重新计算设计界面的过程)还是很满,不尽如人意。


  6、表格设计器对于POJO的识别能力提高了。在表格属性里面,以前只有绑定到数据库的DataProvider才能看到具体的列,而对于POJO是不能看到具体属性的,需要手动输入,现在,只需要绑定到POJO的数组或者有范性的List都可以看到具体属性,例如:
[code]private MyObject[] myArray;
public MyObject[] getMyArray(){
return myArray;
}
public void setMyArray(MyObject[] myArray){
this.myArray = myArray;
}[/code]
[code]private List<MyObject> myList;
public List<MyObject> getMyList(){
return myList;
}
public void setMyList(List<MyObject> myArray){
this.myList = myList;
}[/code]
不过操作起来有点麻烦,需要编译项目,再关闭项目,再重新打开项目。


  7、以前修改Theme是一件痛苦的事情,我们不得不修改默认Theme的源代码和素材,现在NetBeans6提供了一个ThemeBuilder的插件,可以自己做一个Theme了:http://blogs.sun.com/winston/entry/theme_builder


  8、因为tomcat已经是6,所以已经可以使用jsf1.2,另外,也可以选择J2EE5了(以前tomcat5只能选择J2EE1.4,并且只能使用jsf1.1特性)。


  9、以前的ViewState默认是保存到session的,现在默认是保存在client。


  10、导航的设计界面好看了很多,不过还是跟以前那样,页面一多就非常难找到页面,没有一个搜索功能。


  11、以前的配置文件是分成两个文件的faces-config.xml和managed-bean.xml,现在走回原路,合成一个faces-config.xml文件。


  另外,相关的教程和Blog都增加了不少关于NetBeans6的文章,为杯水车薪的VisualWeb文档略解燃眉之急。不过我最期待的定制组件功能,并没有出现在这个版本的NetBeans上,不得不说是一个遗憾。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值