首页 / 脚本样式 / Ajax / Java:应用JSF、Ajax和Seam开发Portlets(1/3)
Java:应用JSF、Ajax和Seam开发Portlets(1/3)2011-08-08 infoq 译:张凯峰如果你刚开始考虑应用portal解决方案,或者想了解把一个新的或现有的JSF应用整合进一个portal环 境有多容易,那么本文绝对值得你仔细研读。在过去几年中,portals无论是在企业还是在增强的portlet 2.0(JSR 286)规范中都得到了长足发展 。新2.0版本的portlets在聚合不同的应用,并将其呈现在同一个页面的不同窗口方面赋于开发人员很大 的自由。此外,它还提供了认证功能,成熟的个性化特性和更好的处理AJAX的现成方法。JSR 301 portlet桥接规范(portlet bridge specification)的出现,使我们具备了运行JSF应用的 标准方式,不论portlets版本是1.0还是2.0。portlet桥(bridge)可以支配portal的Action/Render范式 适当地处理JSF的生命周期。本教程将主要向你展示配置与开发JSF portlet是多么容易的一件事情,同时 还会介绍新的JBoss Portlet Container 2.0及其一些很酷的新特性。本文是由三部分组成的系列文章的第一篇。该系列文章从基本的JSF portlet和portal知识一直讲到 portlet环境中的AJAX和Seam的高级用法。现在准备开始吧!项目安装开发工具:要想成功实践文中的范例就要下载最新版本的Maven(我用的是2.0.9版本)。安装 Maven 2.0.9+。设置 Maven二进制版本的环境变量。例子中用到的服务器和二进制版本:JBoss Portal’s Portlet Container 2.0JBoss Portlet Bridge Beta3目前,JBoss Portlet Bridge是JSR 301规范的唯一实现,它允许你运行JSF、RichFaces和Seam的任意 组合。你项目的Maven配置可安排下载打包在一起的JBoss AS和JBoss Portlet Container 2.0,如果你想 分别下载它们,可以在此处找到这些文件。否则,就给Maven几分钟让它去自行下载适当的文件。注意——在当前的2.6.5.SP1版本的JBoss Portal中同样可以运行这个portlet ,我在本文中使用了 JBoss Portlet Container 2.0,但是桥(bridge)在两者中都能工作。你可通过此处了解令其可在任意 版本的JBoss Portal中运行的配置方法。下述Maven原型(Maven archetype)是创建项目的一种简易方式,可以快速建立并运行一个启始项目 (或者模板项目)。一旦你运行了这些命令,就可获得实践本文示例所需的一切文件。打开一个终端窗口并运行如下指令:mvn archetype:generate -DarchetypeGroupId=org.jboss.portletbridge.archetypes
-DarchetypeArtifactId=1.2-basic
-DarchetypeVersion=1.0.0.B3 -DgroupId=org.whatever.project -DartifactId=myprojectname
-DarchetypeRepository=http://repository.jboss.org/maven2/ -Dversion=1.0.0.B3
现在,找到你的新建项目所在文件目录(如果你使用的跟上面的例子一样,那么目录名就应该是 “myprojectname”),浏览其中刚刚创建的所有文件,你将会看到一个基本Maven文件结构,其中带有适 用于本文范例的源码。现在你就可以打开最喜欢的IDE环境,引入这个Maven项目了。