前言:
IBM WebSphere Portal上的Portlet开发其实挺简单,只要您是熟练的Java开发者,我可以在20分钟之内教您学会IBM Portlet开发。下面跟我做这个步骤。
作者简介:郑文平
国内最资深的企业门户咨询师,架构师,开发者,出版著作《企业门户(Portal)项目最佳实践与开发指南》(2013年,电子工业出版社),目前就职于鼎亚科技。
开发内容简介:
这是一个实例Portlet,相当于helloworld!我们使用RationalApplication Development8.5开发第一个Portlet,部署到IBM WebSphere Portal8.5上运行。
开发步骤如下:
1. 打开开发工具IBM Rational Application Developer for WebShere,新建一个portlet项目,Portlet标题为:hello,NumUber!
2. 修改Portlet配置为JSR286,使用最新的Portlet API。截图:
3. 增加Portlet的编辑和配置模式,在该模式下可以存储参数,管理员可以在里面指定一些可能会发生变化的动态参数。
4. 选中“首选项处理”,用来读写和存储Portlet持久化参数。
5. 打开Portlet.xml文件,添加对应的参数。例如:存储两个字符串:strA和strB。
6. 在可视化Portlet.xml编辑器中,选中hello number这个Portlet
7. 然后滚动条拖到最下面,为这个Portlet新建持久化参数strA。
8. 用同样的方法添加strB。添加完成后界面如下:
其中,strA=“My Name is:”,strB=“Hello,Number!”。
9. 在src目录中打开Portlet的主控制类文件HelloNumberPortlet.java,找到doView()方法:
10. 实例化PortletPreferences对象,取出刚才在Portlet.xml文件中存储的两个持久化参数。代码如下:
PortletPreferencespreferences = request.getPreferences();
StringstrA = preferences.getValue("strA", null);
String strB= preferences.getValue("strB", null);
11. 在HelloNumberPortlet.java同目录下新建一个拼接字符串的实体Bean,用于执行拼接字符串的逻辑运算。类的名字叫AddMyString。
12. 在这个实体类中新建一个String方法,执行将接收到的两个字符串拼接起来的操作,代码如下:
package com.ibm.hellonumber;
public class AddMyString {
public String AddString(String i,String j) {
String sumString = i.concat(j);
return sumString;
}
}
13. 回到HelloNumberPortlet.java主控制类的doView()方法中,调用这个类,将从Portlet持久化参数中取到的这两个字符串拼接起来,代码如下:
AddMyStringaddMethod = new AddMyString();
String strAB =addMethod.AddString(strA, strB);
14. 然后将strA,strB,strAB三个字符串通过Portlet request传递到Portlet的view层用来展现。代码如下:
request.setAttribute("strA", strA);
request.setAttribute("strB", strB);
request.setAttribute("strAB", strAB);
这部分代码合计如图所示:
15. 现在打开该Portlet的View层即文件:HelloNumberPortletView.jsp。通过以下代码从Portlet请求中取出这三个字符串,代码如下:
String strA = (String)request.getAttribute("strA");
String strB = (String)request.getAttribute("strB");
String strAB =(String)request.getAttribute("strAB");
16. 然后在JSP上打印出实际效果来:
<DIV style="margin: 6px">
存储在Portlet持久化参数中的参数strA是:<font color="RED"><%=strA %></font> <BR><BR>
存储在Portlet持久化参数中的参数strA是:<font color="BLUE"><%=strB %> </font><BR><BR>
调用拼接字符串实体类将这2个字符串拼接起来之后是:<B><%=strAB %></B><DIV style="margin: 12px; margin-bottom: 36px">
JSP上总的代码如下:
17. 将这个Portlet导出为war文件,然后以Portal超级管理员登陆后,进入后台Web模块管理,安装这个war包。
18. 然后将这个Portlet定制到Portal页面上,运行结果如下:
19. 如果你要修改存储在Portlet持久化参数里的参数,管理员可以进入到Portlet列表管理,找到Hello Numuber这个Portlet,然后点击“配置Portlet”图标:
20. 进入到该Portlet的配置界面后,你可以看到该Portlet的所有持久化参数列表,点击“编辑参数”按钮就可以修改这个Portlet的持久化参数。