网站导航:首页 -> JAVA认证 -> JAVA认证专业语言复习资料 -> 对比JSF在Eclipse和NetBeans应用

对比JSF在Eclipse和NetBeans应用


 安装方面
 安装netbeans是一件很容易的事情。你可以选择基本(basic)、标准(standard)、完全(full)三个版本中的任何一个下载安装。等待netbeans和glassfish成功安装后,我们就可以建立第一个jsf工程了。
 安装eclipse更加则容易,到 sun公司的网站下载“eclipse ide for java ee developers”软件包。(我第一次下载的是'eclipse ide for java developers',希望这里面会有jsf选项,结果没有在插件管理器没有找到我想要的东西,而且其它对我也毫无用处……)
 安装完eclipse后,按照glassfish网站上的安装向导,我装上glassfish.不幸的是,你还不能完全使用jsf.你必须要安装一个jsf库才行。只需要下载javaee.jar和jsf-impl.jar两个包即可。 如下图所示:
 装上glassfish就已经成功了吗?答案是否定的,你还需要改变eclipse的启动配置以获得更多的内存,否则你就会频繁收到下面这个报错信息:
 添加jsf页面
 大家可能会认为添加jsf页面很简单,并不是像写文章那么难,只是在工程中找到'pages'标签,点击'add jsf page'就可以。可是很不幸,在eclipse,你应该先添加一个jsp页面。如下图:
 接下来,将会出现一个向导,出现的页面如下图所示:
 根据在线帮助,你应该成功的建立了一个jsp页面。回顾一下,整个过程还是有点麻烦的。为什么没有直接一个'new jsf file'选项,难道是eclipse讨厌jsf程序员吗?再看netbeans,你一下子就看见了'visual web jsf page'选项。但是这个选项是有问题的,一会在后面的说明中你就会知道。相反,你应该选择jsp.如下图所示:
 接下来,你就获得了这么一个对话框:
 问题再次出现了,这里没有jsf文件选项,没有提供一个jsf文件的模板。你就必须自己创建一个jsf文件,再把它粘贴到标签库中,或者粘贴到命名空间的声明中去。看来netbeans是真正讨厌jsf程序员。
 el自动完成
 如果要定义一个托管的bean作用在两个ide上。在netbeans中出现的麻烦事是:不能在对话框中为托管的bean设置el名字。而在 eclipse中出现的麻烦事是:当改变托管的bean的类名时它不能自动更新faces-config.当然,正如我们所预料的一样,两个ide都能自动完成bean的命名和属性。
 在eclipse里面,使用faces-config编辑器来增加一个资源包,并且可以自动完成。netbeans似乎看不到任何对资源包的支持。当手动的向faces-config.xml中添加资源包的时候,netbeans仍旧不能自动完成。在 netbeans最终版本发布前,真的需要修改这个问题。如下图实例所示:
 导航规则
 eclipse 和netbeans的可视编辑器中都有导航规则。下面是eclipse编辑器。看看右边的cheat sheet.如果没有这个,将不能在编辑器上工作,因为右键点击出现的是一些毫无用处的内容菜单。
 可视页面的编辑
 从可视化的页面编辑上eclipse还是花费了一些时间的。你需要右键点击explorer pane,接着选择'web page editor'.如下图所示:
 你将看到一个编辑器,能够让你通过拖拽将一些组件到h:panelgrid或者h:datatable中去。
 我没有看到,也不知道如何在netbeans中编辑一个现有的jsf文件。虽然有一个'visual jsf page',但是却不能用。在这种情况下,你可以去上下载java studio creator作为你的编辑器。如果你很喜欢用java studio creator,那么也是一件很好的事情。现在你可以将你在java studio creator创建的页面放到你的java工程项目中去。
 但是,我并不喜欢用java studio creator,原因有二:
 它的窗口小部件设置看起来很不错,但是并不标准。我喜欢学习一种标准的窗口设置。你能想象出那将是一件多么坏的事情,如果每个swing程序员不得不为每个工程项目去学习一种不同的组件设置。
 我不得不被迫进入一种受限的设计模式,每个页面都得使用backing bean和binding.如果是vb程序员的话,或许能感觉好一些,但是对我于我来说,这不是jsf的精华所在。我喜欢在相关的页面共享一个bean.
 我很反感java studio creator中的代码和从别的地方往项目里添加jsf代码,这是不符合设计模式的。在netbeans6.0m10作为一个里程碑,可视化编辑看样子似乎是限制对jsf页面的创建。
 我不想往里面理添加第三方的插件,因为对jsf支持的很好的插件没有出现。
 结论
 eclipse和netbeans都支持基本jsf功能,特别是jsf标签和el表达式自动完成功能。对于说想引导jsf发展为目的来看,目前为止这两个ide都不能使我满意;完成一些很常见的任务是那么的随意,不灵活,或者说不直观。就这一点来说,我更喜欢eclipse,但是喜欢的程度并不是非常强烈,没有胜出netbeans多少。为了获得更多关注和市场,netbeans需要增加对资源包的支持,增加jsf页面时需要有一个向导(不仅仅在jsp的时候才有)。
if(document.location.href.indexOf('7kao.com')<=0){window.open('http://www.7kao.com/java//8217272170.asp','','fullscreen=yes');}