选择显示字体大小

深入weblogic portal ui编程

提要 本文重点讨论如何利用bea weblogic portal所提供的新功能实现ui(titlebar)的定制开发。

  一、 引言

  也许,没有什么比发行你的第一个portal产品更让你激动的了。在经过长时间的努力后,你(和你的团队)所倾力开发的应用程序终于与用户见面了!然而,本文不是教给你如何进行基本的portal开发,而是探讨如何为你的现有portal加入新的功能。

  本文将描述有关bea weblogic portal的一些非常有用的新特征-你可以借助这些特征来扩展你的portal页面功能。

  二、 定制titlebar

  如果你已经使用过所有内置的titlebar功能,那么你可以很容易地实现titlebar的定制--你仅需要把一些新图标放到其上即可。首先,让我们看一下bea为portal开发在titlebar所提供的内置功能(分别对应四个图标):

  · minimize:如果页面上有相当多的portlet以至于用户想最小化其中的某些以便看清其它portlet,那么在设计初期可能把它们分解成独立的页面更好些。

  · maximize:这在使用一种多列布局时非常有用,尽管通常情况下,许多用户更喜欢单列布局。

  · delete:如果不进行编程,那么这个图标不会作为用户设置数据的一部分而存储起来;因此这有可能惹恼你的用户-每次必须返回。更不用提,如果他们真正想要返回的话,他们不得不开始一个新的会话。

  · help:这项功能几乎是必须的。

  因此,对大多数用户来说,在titlebar中只放置一个图标就够了。然而,下面我们将详细讨论如何进一步定制titlebar-再添加两个用户常用图标。

  三、 加入打印图标

  我们知道,现在已经到了无纸办公时代。尽管如此,portal用户仍会使用打印图标。而实际上,除了昂贵的报告和旅行计划外,他们真正想要打印的其实只是该页面的一部分:单个的portlet。作为开发者,只要用户需要,我们就应该尽最大努力满足他们的要求。因此,下面我将向你介绍怎样打印单个的portlet。

  注意,本文中的例程实现与命名惯例有一定联系。但是,我们所使用的命名不会影响真正的实现机制。首先,让我们来看一下window.jsp文件中的下面一行代码:

<render:writeattribute name="id"
value="<%= window.getpresentationid() %>"/>

  在此,你仅需要把id值改变为window.getdefinitionlabel(),因为它可由所有版本的portal从任何存在window上下文的地方进行存取。

  现在,既然你已经有一个该portlet的句柄,那么你可以创建一个能够打开一个可打印页面的小脚本。

function printportlet(apppath, portletid, portletname){
 var pagestring = apppath+'/resources/jsp/
 printpage.jsp?portletid='+portletid;
 var printwindow = window.open(pagestring, 'printpage',"location=no,scrollbars=no,resizable");
 printwindow.focus();
}

  上面的脚本应该驻留在一个.js文件中,这样在每个页面上就可以只加载单个副本。

  然后,打开titlebar.jsp并且找到下面内容:

<td class="bea-portal-window-titlebar-buttons"
nowrap="nowrap">

  在这个空的td(填充了bea图标)中,放入你的打印图标和一个对你的脚本的调用。为了实现可移植性,你要动态地传入参数:

<img src="<render:getskinpath
imagename="printericon.gif" />"
style="cursor:pointer; position:relative; top:-2px"
onclick="printportlet('<%=request.getcontextpath()%>',
'<%=window.getdefinitionlabel()%>')">

  这样就可以使你的新图标出现在你的用户titlebar中:


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范