论坛首页 Java企业应用论坛

NetBeans6对于VisualWeb的修改

浏览 2767 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-05  
  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组件的时候是生成
<span id="XXX">内容</span>
现在是
<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>

也就是说,把渲染方式以插件的形式提供,然后使用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都可以看到具体属性,例如:
private MyObject[] myArray;
public MyObject[] getMyArray(){
     return  myArray; 
}
public void setMyArray(MyObject[] myArray){
     this.myArray = myArray; 
}

private List<MyObject> myList;
public List<MyObject> getMyList(){
     return  myList; 
}
public void setMyList(List<MyObject> myArray){
     this.myList = myList; 
}

不过操作起来有点麻烦,需要编译项目,再关闭项目,再重新打开项目。



  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上,不得不说是一个遗憾。
   发表时间:2008-03-23  
好帖!看来LZ对netbeans还是有不少体会的,学习。

我的点体会:
1.ViewState好像是可以配置在是否在server段还是client段保存。

2.DOJO对系统的速度的影响应该只是在browser端,应该影响不大。这种javascript的框架应该是可以替换的。
而且这种方式减少的组件的java代码(render?)的工作量,可能会使组件的编写更加容易。

3.原来的visual jsf会为每个页面组件在page bean中产生用来绑定的属性,现在默认不产生,但是可以通过右键菜单”add binding attribute"来添加一个属性。这样page bean就少了很多代码,成为一个真正的页面控制类。
0 请登录后投票
   发表时间:2008-03-24  
不知道页面还是不是xml格式的?平时大家都用的是xhtml格式,Netbeans的可视化开发一直都是xml格式的,我一直就没搞明白过。
0 请登录后投票
论坛首页 Java企业应用版

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