最近在做Portal,用的是Weblogic9.2.3 提供的 Portal,BEA 已经被 Oracle 收购了,这个产品不停止了维护,想找支持也找不到。只能自己一点一点试先总结下门户的界面
任何没有清晰的、易用的界面的应用程序都是不完整的。如果用户无法使用或不愿意使用您的应用程序,那么就算应用程序中集成了再多吸引人的逻辑也无济于事。BEA WebLogic Portal的特性之一就是它丰富的用户界面框架。它们允许开发人员和门户管理员轻松地构造引人注目的用户界面,同时还允许他们定制样式和结构。
门户用户界面框架组件
用户界面框架有很多组件。BEA开箱即用地实现了的所有用户界面组件。这些缺省的组件对某些应用程序来说已经足够了,但我们还是很可能需要某个级别的定制。在深入讨论框架和定制之前,先让我们简略地看一下每个用户界面组件以及它们之间的关系。
观感(look and feel) 观感文件控制着门户应用程序的样式和结构。这些文件都是引用特定皮肤 (即look)和骨架(即feel)的简单XML文件。一个门户的观感是应用在桌面级别上的。虽然门户开发人员会先选择一个门户的观感,但最终还是由门户管理员来做最后的决定。
皮肤(skin) 门户皮肤就是门户的外观。这个外观由图像、级联样式表(CSS)和JavaScript 函数组成。这些文件一起描述了门户的样式和行为。皮肤还为移动设备包含特定于设备的样式。
Portal皮肤由位于skin目录下的 skin.properties文件来配置。这个配置文件可用来定义图像、CSS以及JavaScript文件和路径。另外,skin.properties文件还能用于定义与该皮肤一起使用的骨架(skeleton)名称和路径、添加方法到主体onload 和onunload 事件,以及定义附加信息。
当定制任何默认的安装皮肤时,建议不要把额外的配置更改放在 skin.properties文件中,而是放在一个可选的skin_custom.properties文件里。这样做的原因是门户升级的安装程序会覆盖掉skin.properties和skin文件所做的修改,也就覆盖掉了您所做的配置更改。
骨架(Skeleton) 门户的感觉取决于它的骨架。门户的结构由背后的XML决定,即到底是.portal XML文件格式还是数据库本身。这个XML文件可以像可从桌面添加和删除的组件一样被修改。每个门户组件都与负责显示它的JavaServer Pages (JSP) 页面相关。这些JSP页面的集合就构成了门户骨架。骨架也可包含特定于设备的JSP,这些JSP指明用于查看移动设备上的Web应用程序的结构。
门户骨架还能使用skeleton目录下 skeleton.properties文件中的额外配置信息。通常情况下,该文件在创建定制骨架时使用。您可以设置JSP的搜索路径,这样就能在试图查找JSP时使用其他一个或一系列路径。例如,假如您想修改book.jsp,只需简单地给修改后的book.jsp创建一个定制的skeleton目录,并设置JSP搜索路径属性,jsp.search.path: ., ../default。这样,当门户框架不能在当前目录下找到指定文件时,它就会尝试在默认的skeleton目录下去找。
这使得骨架的定制变得很简单。定制的骨架可以仅修改一个单独的骨架JSP页面。该定制目录将只包含这一个文件,而其他的功能则依赖一个独立的骨架。
主题(Themes) 骨架和皮肤能共享一个公共的观感子集,也就是一个主题。主题为特殊门户组件使用不同样式和结构提供了一种机制,以便覆盖当前选择的观感。
Shell 门户的shell控制着门户原则功能部分的位置和对齐,以及任何附加的内容窗口。大多数门户至少会显示一个页眉和一个页脚,但是shell可以被定制成以任何必要的方式包装主窗口。
布局(Layout)和占位符(placeholder) 门户的页面结构基于它的布局。布局是一种简单的表结构,用来把门户中的组件置入到称为占位符的独立单元中。当创建您自己的布局时,BEA会提供布局样式供您使用。这些样式会描述门户如何放置占位符。
布局由两个文件定义,一个是<layout_name>.layout文件,另一个是<layout_name>.html.txt文件。.layout文件是用于实际布局组件的XML文件。它就是包含着占位符的文件。而.html.txt文件仅仅是一个被Workshop和administration portal使用的模板。这些工具把.html.txt 文件当作一个模板,使开发人员知道这个布局的效果,并为添加组件到占位符提供了方法。
菜单(Menus) 两个菜单之一可以在目录导航的门户中使用。这些菜单提供了稍微有点不同的导航级别。这些菜单系统的缺省功能可以通过修改相关的skeleton文件来定制。
选择皮肤和骨架
尽管我提到观感(look-and-feel)文件会引用要使用的皮肤和骨架,但是这也不是必要条件。因为定义了皮肤和骨架名称以及路径的观感属性是可选的。那么如何才能使观感文件既不包含外观也不包含感觉呢?答案是无法做到。尝试不用容器来显示内容,就好像尝试把水倒进一个虚构的玻璃杯中。假如观感文件中的一些或所有属性并没有被指定,那么框架就只有依赖于配置好的设置或用户默认的值。以下是选择皮肤和骨架的规则:
皮肤的命名:
* 如果没有指定,就使用/framework/skins/default皮肤。
皮肤的路径:
* 如果没有指定,就使用/framework/skins/。
骨架的命名:
* 如果没有指定,就使用skin.properties中的default.skeleton.id。
* 如果没有指定default.skeleton.id属性,就使用/framework/skeletons/default。
骨架的路径:
* 如果没有指定,就使用skin.properties中的default.skeleton.path。
* 如果没有指定skin.properties中的default.skeleton.path,就使用/framework /skeletons/。
门户骨架呈现标签库
门户从选择的骨架中呈现出来。每个门户 XML组件会映射到一个骨架JSP文件。骨架JSP文件根据一个门户标签库来呈现这些组件。这个标签库就是门户骨架呈现标签库,它包含在render_taglib.jar中。知道库中所有可用标签的工作原理对理解门户的呈视过程和骨架定制很重要。用得最多的呈现标签是<render:beginRender> 与<render:endRender>、<render:writeAttribute>,以及<render:renderChild>与<render:pageUrl>。
<render:beginRender>和<render:endRender>标签用于启动和结束一个门户组件的呈现过程。门户组件在层次上互相相关。例如,桌面包含顶级目录。而该目录又能包含任何数量的页面或子目录,子目录又可以包含自己的portlet、页面或者子目录。门户组件呈现就依据了这种层次结构。嵌套在门户 XML中的子组件被呈现在它们双亲的<render:beginRender>和 <render:endRender>标签之间。这两个标签包含了开放和封闭的HTML元素,而在这些元素中嵌套的组件会呈现它们自己的 HTML。
<render:writeAttribute>标签要与<render:beginRender>标签一同使用。因为<render:beginRender>标签呈现了组件的开放 HTML,而<render:writeAttribute>标签则添加属性到这个开放的HTML标签中。
带有子组件的组件,比如标题栏和标题栏按钮,用<render:renderChild>标签呈现这些子组件。
在呈现标签库中,标签可以用来创建URL。虽然这些标签在骨架呈现时很有用,但是它们实际上可以在应用程序的任何必要的地方使用。
<render:pageUrl>标签用于生成一个能导航到特定页面或目录的URL,而<render:windowUrl> 标签则是在指定了特定portel模式和/或状态的情况下,生成一个能导航到特定portel的 URL。<render:resourceUrl>标签则用于为资源建立一个URL,比如JavaScript文件或图像。要生成一个允许提交请求的URL,则要用到<render:postbackUrl>标签。
呈现顺序和过程
当定制一个现有的骨架或创建自己的骨架时,不仅理解骨架JSP的呈现顺序非常重要,而且还要知道引用这些JSP的频度。当一个组件被呈现时,就要引用到与它相关的骨架JSP文件。在这个JSP文件中,<render:beginRender>标签封装了所有的用于呈现该组件开放部分的逻辑。记住,门户组件是嵌套的,所有嵌套组件的骨架JSP文件的<render:beginRender>部分是合为一体的。这个过程一直延续到最后嵌套的组件的<render:beginRender>部分被呈现为止。到那时,随着层次的上移,每个骨架JSP文件再次被引用,而在此时就呈现位于<render:endRender>标签之间的内容。由于这个原因,您会发现骨架JSP文件中的大部分逻辑都是被封装在这些呈现标签中的。否则,每个组件的逻辑就会运行两次,而这种情况几乎不可能是我们想要的结果。
定制布局
BEA提供了四种布局样式,应该可以包括绝大多数需要的布局样式。然而,有时您还是需要创建定制布局,以获得缺省情况下未能提供的结构。要创建一个定制布局,首先需要复制一个.layout文件以及与它相关的.html.txt文件。
在.layout文件中,修改<netuix:layout>标签的适当属性,而把Layout 设置为markupType。然后添加并配置这个布局中可用的占位符。
使用WebLogic Portal轻松创建引人注目的用户界面
分享到:
相关推荐
通过本开发指南的学习,开发者可以系统地掌握WebLogic Portal的开发技巧,从而能够快速地构建出高质量的企业门户应用。无论是在技术选型还是实际开发过程中,都需要结合具体项目需求进行合理的规划和实施。希望本...
### 深入理解WebLogic Portal性能管理 #### Portal应用前景与价值 现代企业通过部署Portal应用程序能够获得显著的业务和技术优势。Portal不仅作为一个统一的访问点,还提供了丰富的功能,比如安全性、搜索、协作和...
Weblogic Portal开发环境配置,软件版本为weblogic platform 9.22,包括利用workshop开发工具进行weblogic实例创建,portal web project创建以及自动部署。
根据提供的文件信息,我们可以归纳出以下关于Oracle WebLogic Portal的关键知识点: ### 一、Oracle WebLogic Portal概述 **Oracle WebLogic Portal** 是一款由Oracle公司开发的企业级门户解决方案,主要功能在于...
WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...
Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...
### WebLogic Portal 开发宝典知识点详述 #### 一、引言 WebLogic Portal 是一款功能强大的企业级门户解决方案,由 BEA Systems 开发并在后来被 Oracle 收购。它为企业提供了高度可定制化的门户服务,支持多种集成...
BEA WebLogic Server 是一种多功能、基于标准的应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是...
WebLogic Administration Portal Tutorial 是一个深度探索Oracle WebLogic Server中Portal功能的教程,旨在帮助管理员熟练掌握Portal的创建、管理和配置。WebLogic Portal是Oracle提供的一个强大工具,它允许组织...
### Oracle Weblogic Portal Look & Feel:界面设计技术详解 #### 一、概述 在Weblogic Portal的开发过程中,“Look & Feel”(外观与感觉)是一个非常重要的概念,它主要涉及用户界面的设计和技术实现。本篇内容...
【BEA WebLogic Portal技术白皮书】 BEA WebLogic Portal是BEA Systems(现已被Oracle Corporation收购)推出的一款企业级门户平台,旨在提供统一、个性化的访问多种应用和服务的入口。该技术白皮书详细阐述了...
【富国银行部署BEA WebLogic Portal】这篇文章讲述了富国银行如何通过采用BEA的WebLogic Portal技术,改进其IT基础设施,以提升客户服务并优化业务流程。BEA WebLogic Portal是一个关键组件,它构建在SOA(面向服务...
在培训中,参与者将深入理解WebLogic Portal的基础架构,学习如何设置和配置门户环境。这包括安装和配置WebLogic Server,它是Portal的基础,提供应用程序服务器的功能。WebLogic Server是Java EE兼容的,能够托管...
### Weblogic学习笔记:安装与配置详解 #### 一、Weblogic 9.2的安装流程 Weblogic的安装过程相对直接,对于初次接触的开发者来说,也较为友好。整个安装过程中,用户只需要关注几个关键步骤,其余部分可遵循默认...
【WebLogic Portal 8.1 开发 JSR 168 Portlets】是关于使用BEA WebLogic Portal 8.1版本开发遵循JSR 168标准的portlet的实践指南。JSR 168(Java Portlet)规范旨在促进portlet与门户之间的可移植性,确保portlet...
《WebLogic 9.2 Portal 开发详解》 在企业级应用开发中,WebLogic Server 是一款备受青睐的中间件,其 ...通过学习和实践,开发者可以充分利用WebLogic Portal的功能,为企业构建出高效、安全且个性化的门户应用。
本PPT学习笔记将深入探讨WebLogic的核心概念、功能以及如何进行配置和管理。 1. **WebLogic基础** - **Java EE平台**:WebLogic是Java EE平台的一部分,提供了对Servlets、JSP(JavaServer Pages)、EJB...
### WebLogic 11g 学习笔记 #### 一、WebLogic 11g 安装与配置 ##### 1.1 在Windows XP上安装WebLogic 11g 在这一部分,我们将会详细介绍如何在Windows XP操作系统上安装WebLogic 11g。WebLogic Server 是一款...
WebLogicPortal规则引擎.doc