使用JDeveloper开发Portlet(JSR 168)
三月 2, 2010 in Oracle 融合中间件
概述
通常来说,对于Portal的开发都避免不了大量的Portlet的开发,因此,在WebCenter中也提供了多种Portlet,常用的有:
- JSR 168
- Oracle PDK
这两种Portlet相辅相成,为WebCenter提供了强大的UI展现能力,在JDeveloper 11g中,可以方便地实现Portlet的开发,本文主要描述在JDeveloper 11g中开发JSR 168标准Portlet,以及如何在WebCenter Application应用该Portlet。
基本步骤
1、创建Portlet Application,开发Portlet
2、发布Portlet到WebLogic
3、创建WebCenter Application,在其中注册上步中发布成功的Portlet
4、使用Portlet
实现
1、创建Portlet Application,开发Portlet
1)打开JDeveloper,创建Portlet Producer Application
2) 创建Portlet Producer Application时,会一起创建出对应的Portlet Project,在Wizard中可以看到,该Project的“Project Technologies”中对应的Technologies已经被自动添加到选择项中,点击Next到Finish
3)我们将要开发的Portlet用于展现HR Schema中的Jobs表数据,因此需要为该项目创建数据库连接
4)基于HR Schema中的Jobs表创建EO,VO,并创建AM添加该VO的实例到该AM的Data Model中
5) 在该Portlet Project中创建Portlets,选择“Standards-based Java Portlet(JSR 168)”,填入相应的Portlet信息,需要注意的是在生成的页面中,我们暂时仅需要数据展示页面,因此在3/8步骤中,仅保留“view”页面,并 选择生成ADF页面(.jspx),保证其他选项默认,点击Next到Finish即可
6)打开刚创建成功的view.jspx页面,从“Data Control”面板中拖动Jobs表对应的VO实例到页面,选择以“Read-Only Table”的形式展现
2、发布Portlet到WebLogic
1)为该Project创建Deployment Profile,以WAR形式发布即可
2)在WAR Profile中指定Java EE Web Context Root为howtoportletapp或其他名称,使发布成功的Portlet的URL更清晰
3)创建Deployment Profile完成后,在部署之前首先确保JDeveloper 11g集成的WebLogic Domain已经启动,可通过如图方式查看
4)在Portlet Project中点击右键,选择Deploy,如图进行部署
5)根据提示选择发布到应用服务器中(Deploy to Application Server),选择Application Server为JDeveloper 11g集成的WebLogic Server,点击Next至Finish
6)在部署开始时,JDeveloper会监查到即将发布到WebLogic中的为JSR 168 Porlet,会提示是否以WSRP service进行发布,选择Yes,点击OK后继续
7)查看JDeveloper控制台的Deployment面板,得到如下结果
[01:13:36 PM] Running dependency analysis...
[01:13:36 PM] Building...
[01:13:44 PM] Deploying profile...
[01:13:45 PM] Wrote Web Application Module to /home/eleven/Work/ADF/workspace/howto/howtoportletapp/Portlets/deploy/howtoportletapp.war
[01:13:45 PM] Wrote Enterprise Application Module to /home/eleven/Work/ADF/workspace/howto/howtoportletapp/Portlets/deploy/howtoportletapp.ear
[01:13:48 PM] Deploying Application...
[01:13:52 PM] [Deployer:149192]Operation 'deploy' on application 'howtoportletapp' is in progress on 'DefaultServer'
[01:14:00 PM] [Deployer:149194]Operation 'deploy' on application 'howtoportletapp' has succeeded on 'DefaultServer'
[01:14:00 PM] Application Deployed Successfully.
[01:14:00 PM] The following URL context root(s) were defined and can be used as a starting point to test your application:
[01:14:00 PM] http://192.168.136.1:7101/howtoportletapp
[01:14:00 PM] Elapsed time for deployment: 29 seconds
[01:14:00 PM] ---- Deployment finished. ----
8)访问上面给出的URL,若显示如下内容,则说明部署成功
9)从WSDL URLS中选择WSRP v2 WSDL连接,得到XML格式内容,记录该URL
http://192.168.136.1:7101/howtoportletapp/portlets/wsrp2?WSDL
3、创建WebCenter Application,在其中注册发布成功的Portlet
1)使用向导创建WebCenter Application
2)创建WebCenter Application完成后,在Application Resources面板中的Connection处点击右键,新建Connection,选择“WSRP Producer”
3)在“WSDL URL”中填入上步最后记录的URL地址,点击Next,分别填入不同步骤中的对应参数信息
4)创建成功后,在Application Resources面板中就可以查看刚注册成功的Portlet,即PortletDemo
4、使用Portlet
1)在WebCenter Application中创建新页面,进行适当布局,将Portlet拖动到该页面,产生如图效果
2)布局完成后的页面结构如图
3)保存应用,运行该页面,得到如图结果,调用Portlet成功
详细代码请查看:howtojsrportlet.rar
无相关文章.
judiy said on 十一月 16, 2010
11.xu 很强,好东西共享!
xin.xu said on 五月 6, 2010
原来不注册登录看不到图。。
Eleven.Xu said on 三月 2, 2010
呵呵,吐血是夸张了点,就是太多图了,要一张一张截好再粘上来,比较费事…
Eleven.Xu said on 三月 2, 2010
这个文章写到吐血,占个沙发先…
aronezhang said on 三月 2, 2010
感谢11.xu的辛苦劳动,共享Oracle ADF和WebCenter的东西,怎么会写到吐血呢?