示例四:JSR 168协作portlet
本实例展现协作portlet的开发方法。
(1)创建一个新的名为PortletCooperative的portlet项目。
Portlet名称为PortletSource,类型选“基本Portlet”。
内容方式只选择“查看”,因为在这个示例中我们只需使用这一个视图。
下面的配置全部都勾去不选,这个示例中用不到。
(2)在项目PortletCooperative中再新建一Portlet名为PortletTarget,设置与PortletSource相同。
(3)使用协作源向导激活这个源portlet共享数据。
1. 展开 Portlet部署描述符 节点。
2. 右键点击PortletSource,选择 协作->使此Portlet能够发送数据(源)。
3. 将数据类型URI变更为 http://portletcooperative#msg,Java类型仍是String。
4. “操作参数”不变,将“操作值”更改为 SendMsg。“位置”仍选择“请求属性”,将“属性名”更改为outputMsg。
5. 保留默认设置。
6. 最后会显示一个配置协作源Portlet步骤的文档,对初学者是个很好的参考。
(4)使用协作目标向导使目标portlet接收数据。
1. 展开 Portlet部署描述符 节点。
2. 右键点击PortletTarget,选择 协作->使此Portlet能够发送数据(源)。
3. 将数据类型URI变更为 http://portletcooperative#msg,注意名称要和PortletSource中的URI相同。
4. “操作参数”不变,将“操作值”更改为 RevMsg。“位置”选择“请求参数”,将“属性名”更改为inputMsg。
5. 保留默认设置。
6. 最后照样会显示一个配置协作目标Portlet步骤的文档。
配置完成后展开Portlet部署描述符可以看到刚定义的行为和数据类型。
(5)添加协作源触发器入PortletSourcePortletView.jsp
1. 在页面中添加一文本框,名为msg。
将Portlet页签中的“协作源触发器”拖放进PortletSourcePortletView设计页,会弹出“插入协作源触发器”向导。“源portlet”选择PortletSource,“操作值”SendMsg,“属性名”outputMsg,“要发送的值”暂时先设为data,下面马上就会修改。“UI控件类型”选择按钮。
设计完成页面如下图。
页面代码:
<%@page session="false" contentType="text/html" pageEncoding="GB18030"%>
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<portlet:defineObjects/>
<form method="POST" action="<portlet:actionURL/>">
<input type="text" name="msg" size="20" value="">
<input name="ACTION_NAME_PARAM" value="SendMsg" type="hidden">
<input name="submit" value="发送" type="submit">
</form>
2. 打开PortletSourcePortlet.java,可以发现RAD已经自动在函数processAction中生成了一段代码,我们稍微做一下改动,让其取msg文本框中的值。
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
if(ACTION_NAME != null && ACTION_NAME.equals(request.getParameter(ACTION_NAME_PARAM))) {
request.setAttribute("outputMsg", request.getParameter("msg"));
}
}
(6)对PortletTarget进行修改
1. 修改PortletTargetPortletView.jsp代码
<%@page session="false" contentType="text/html" pageEncoding="GB18030" import="javax.portlet.*" %>
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<portlet:defineObjects/>
<%PortletPreferences prefs = renderRequest.getPreferences();%>
<p><%=prefs.getValue("msg", "Hello World") %></p>
2. 修改PortletTargetPortlet.java
这个文件无法自动生成代码,只能手动添加了。
在头部添加两常量定义:
public static final String ACTION_NAME = "RevMsg";
public static final String ACTION_NAME_PARAM = "ACTION_NAME_PARAM";
修改processAction函数,将取得的传入值存入PortletPreferences:
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
if(ACTION_NAME != null && ACTION_NAME.equals(request.getParameter(ACTION_NAME_PARAM))) {
PortletPreferences prefs = request.getPreferences();
prefs.setValue("msg",request.getParameter("inputMsg"));
prefs.store();
}
}
(7)安装测试
开发完成,将Portlet文件导出然后在Portal上安装。
分别建立两个页面SourcePage和TargetPage,然后将两个portlet分别放置在它们上面。在此我们测试跨页面的传值。
1. 进入TargetPage的“编辑页面布局”,在“联结”标签中,点击“管理操作”。
在页面中勾选“RevMsg Action”的“全局”选项,只有在此选择了才可跨页接收。
2. 进入SourcePage的“编辑页面布局”,在“联结”标签中,创建联结。注意,全部设置完成后要点击最后的加号确认添加,如此联结才真正建立。
3. 访问测试。
输入文字后点击“发送”即可发现页面自动跳转到TargetPage,并显示出该文本。
累了,去
读意优休息一下下,QQ空间,美文,非主流,网络日记,搞笑短信,祝福短信,热门短信,有意思啊
分享到:
相关推荐
【在 RAD7 中开发 JSR168 Portlet】是一个关于使用IBM Rational Application Developer (RAD) 7.0.0.3版本开发遵循JSR168标准的portlet的教程。JSR168(Java Portlet API 1.0)是Java Community Process发布的一个...
Struts2 JSR168 Portlet的开发是构建在Java Portlet规范(JSR168)基础上,结合流行的MVC框架Struts2来创建适用于企业级门户平台的应用组件。这种开发方式允许开发者利用Struts2的强大功能,如Action、Interceptor、...
综上所述,这个压缩包中的内容可能包含一个使用RAD 7开发的基于JSR 168的portlet示例,以及详细说明如何在RAD环境中创建和部署Web服务的文档。这些技术都是Java企业级开发中的关键组成部分,对于理解和实践企业级...
portlet开发样例主要涵盖两大部分:portlet的类名规范以及使用RAD7开发JSR168portlet的过程。本文将详细阐述这两个方面的内容。 首先,我们来看portlet的类名规范。类名是portlet开发中的一个重要组成部分,它需要...
1. **IBM Portlet Developer Tools**:集成在IBM Rational Application Developer (RAD) 或 IBM WebSphere Integration Developer (WID) 中,提供图形化界面,简化portlet的创建和调试过程。 2. **WebSphere Portal ...
在本文中,我们将深入探讨如何使用Spring MVC Portlet 3.0框架开发针对IBM WebSphere Portal的应用。Spring MVC Portlet是Spring Framework的一部分,它提供了一种优雅的方式来构建portlet应用程序,而IBM WebSphere...
- **MVC 架构**:书中详细介绍了如何在 Portlet 开发中应用 MVC 架构,并提供了具体的示例代码。 - **Portlet MVC 架构**:Portlet MVC 架构是针对 Portlet 的 MVC 特殊实现,本书中提供了详细的说明和实例。 - **...
- 通过portlet开发,可以将各种业务逻辑和用户界面集成到门户中,这需要对JSR168或JSR286标准有深入理解。 - 为了适应企业需求,可能还需要自定义主题、布局和工作流程。 6. **包括的文件**: - "was"可能是指...
特别是,在安装过程中有一个关键步骤需要特别注意,即确保选中Portlet开发支持的相关选项,否则将无法进行Portlet开发。 #### Portlet开发步骤 - **传统开发流程**:传统上,Portlet开发涉及多个步骤,包括编写...
文档可能包含使用IBM Rational Application Developer (RAD)或其他IDE进行portlet开发的步骤,以及如何利用Portlet Developer Toolkit (PDT)进行快速开发。 三、portlet生命周期管理 详细说明portlet的开发、测试、...
3. **开发环境**:开发Websphere Portal应用通常使用IBM RAD(Rational Application Developer)或Eclipse IDE,配合Websphere Portlet Factory或直接编写portlet代码(Java或JSF)。 4. **portlet开发**:portlet...
【Java在企业级开发中的应用】 毛新生,作为IBM中国开发中心的CTO,在QCon 2009北京全球企业开发大会上分享了关于Java在企业级开发中的重要性和应用。他的演讲深入探讨了Java如何在企业软件开发中扮演关键角色,并且...