`
buliedian
  • 浏览: 1249441 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在RAD7中开发JSR168 Portlet (三)

阅读更多
读者会发现我在示例2中定义的CONFIG_TITLE这个变量始终没有用到,其实是为了实现Portlet标题栏文字的自设定而放置的。
WebSphere Portal6中Portlet标题栏文字的修改比较怪异,本来按照JSR168中所规定的,只要使用RenderResponse.setTitle(String title)函数就可以设置标题了,而且我用这个方法在pluto-1.1.4中测试通过,但在WebSphere Portal中却怎么调都不行,看了IBM网站上的一篇文章《Tip: Changing a portlet title at run time in WebSphere Portal V6》才有点明白,似乎是IBM为了访问效率考虑,所以在WebSphere Portal中调用RenderResponse.setTitle只是修改了com.ibm.portal.portlet.Constants.DYNAMIC_TITLE这个值,然后还需要在皮肤中使用DOM,并读取该值才能显示。
下面是实现步骤。在示例2的代码中进行修改实现。
(1)修改皮肤。
复制IBM皮肤文件夹,重命名为IBM_DT,修改其中的control.jsp。
找到其中如下一段代码
<portal-skin:portletTitle>
<portal-fmt:problem bundle="nls.problem"/>
</portal-skin:portletTitle>
为其添加span或者div标签,用于修改时的定位,修改为
<span id="title.<portal-skin:portletID/>">
<portal-skin:portletTitle>
<portal-fmt:problem bundle="nls.problem"/>
</portal-skin:portletTitle>
</span>
然后在control.jsp文件的最下方,添加如下代码用于修改标题栏文字。
<script type="text/javascript">
var dynamicTitle ="<%=request.getAttribute(com.ibm.portal.portlet.Constants.DYNAMIC_TITLE)%>";
var titleElement = document.getElementById("title.<portal-skin:portletID/>");
if (titleElement != null) {
    if (dynamicTitle != "" && dynamicTitle != "null")
        titleElement.innerHTML = dynamicTitle;
    }
</script>
如此,皮肤就修改完成了。
(2)修改PortletExamplePortletView.jsp,在其中添加一行代码。
renderResponse.setTitle(prefs.getValue(PortletExamplePortlet.CONFIG_TITLE, "ConfigTitle"));
(3)转入Portal中查看显示效果。
安装该皮肤,并且设置要修改标题的Portlet都要使用该皮肤。
为了演示此种方式可以同时在一个页面中给多个portlet设置不同的标题文字,我们可以再复制一个PortletExample Portlet,命名为PortletExample2,然后将其也添加到测试页面上。然后给这两个Portlet配置不同的参数,如下图,可以看到,两个Portlet的标题是不同的,显示内容、高度等也都不同。

这种方式修改的只是View视图时的标题,如果我们进入配置模式,会发现标题栏还是原来的名字。


RenderResponse.setTitle(String title)函数也可以在PortletExamplePortlet.java中的doView、doEdit等函数中调用,显示结果与直接在jsp中调用相同,留待读者自己尝试。
累了,去读意优休息一下下,QQ空间,美文,非主流,网络日记,搞笑短信,祝福短信,热门短信,有意思啊

分享到:
评论

相关推荐

    在RAD7中开发JSR168 Portlet

    【在 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的开发

    Struts2 JSR168 Portlet的开发是构建在Java Portlet规范(JSR168)基础上,结合流行的MVC框架Struts2来创建适用于企业级门户平台的应用组件。这种开发方式允许开发者利用Struts2的强大功能,如Action、Interceptor、...

    portlet开发样例.docx

    portlet开发样例主要涵盖两大部分:portlet的类名规范以及使用RAD7开发JSR168portlet的过程。本文将详细阐述这两个方面的内容。 首先,我们来看portlet的类名规范。类名是portlet开发中的一个重要组成部分,它需要...

    rad开发webservice的例子

    综上所述,这个压缩包中的内容可能包含一个使用RAD 7开发的基于JSR 168的portlet示例,以及详细说明如何在RAD环境中创建和部署Web服务的文档。这些技术都是Java企业级开发中的关键组成部分,对于理解和实践企业级...

    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 Portlet应用

    在本文中,我们将深入探讨如何使用Spring MVC Portlet 3.0框架开发针对IBM WebSphere Portal的应用。Spring MVC Portlet是Spring Framework的一部分,它提供了一种优雅的方式来构建portlet应用程序,而IBM WebSphere...

    IBM Rational Application Developer V6 Portlet Application Development and Portal Tools

    - **MVC 架构**:书中详细介绍了如何在 Portlet 开发中应用 MVC 架构,并提供了具体的示例代码。 - **Portlet MVC 架构**:Portlet MVC 架构是针对 Portlet 的 MVC 特殊实现,本书中提供了详细的说明和实例。 - **...

    在RAD/RSA上安装配置Portal 6.0 和优化性能并减少资源消耗的方法

    - 通过portlet开发,可以将各种业务逻辑和用户界面集成到门户中,这需要对JSR168或JSR286标准有深入理解。 - 为了适应企业需求,可能还需要自定义主题、布局和工作流程。 6. **包括的文件**: - "was"可能是指...

    Portal培訓教材_FromIBM(5)

    特别是,在安装过程中有一个关键步骤需要特别注意,即确保选中Portlet开发支持的相关选项,否则将无法进行Portlet开发。 #### Portlet开发步骤 - **传统开发流程**:传统上,Portlet开发涉及多个步骤,包括编写...

    WebSphere Portal 开发文档

    文档可能包含使用IBM Rational Application Developer (RAD)或其他IDE进行portlet开发的步骤,以及如何利用Portlet Developer Toolkit (PDT)进行快速开发。 三、portlet生命周期管理 详细说明portlet的开发、测试、...

    Websphere Portal 开发教材

    3. **开发环境**:开发Websphere Portal应用通常使用IBM RAD(Rational Application Developer)或Eclipse IDE,配合Websphere Portlet Factory或直接编写portlet代码(Java或JSF)。 4. **portlet开发**:portlet...

    QCon 2009 beijing全球企业开发大会ppt:10.Java在企业级开发中的应用

    【Java在企业级开发中的应用】 毛新生,作为IBM中国开发中心的CTO,在QCon 2009北京全球企业开发大会上分享了关于Java在企业级开发中的重要性和应用。他的演讲深入探讨了Java如何在企业软件开发中扮演关键角色,并且...

Global site tag (gtag.js) - Google Analytics