hk2000c技术专栏

技术源于哲学,哲学来源于生活 关心生活,关注健康,关心他人

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  111 随笔 :: 1 文章 :: 28 评论 :: 0 Trackbacks

Portlet 形态

Portlet 的形态直白的说,就是 portlet 功能的表现形式。通常, portlet 根据他们自己功能的不同,执行不同的任务以及生成不同的内容。 Portlet 形态直接预示着他们担任什么样的功能并且将会显示什么样的内容。当 portlet 被调用的时候, portlet 容器会为其提供的一个的当前 portal 形态。 Portlet 可以很方便的在处理一个 action 请求的时候改变它的形态。

       Portal 规范定义了 3 portlet 形态。他们分别是 VIEW EDIT 以及 HELP PortletMode 类定义了这些形态的常量。

       Portal 形态还用于对用户的权限功能控制,比方说一个未认证用户只能察看 portlet VIEW 以及 HELP 形态,而认证用户则能访问 portlet EDIT 形态。

 

8.1 Portlet VIEW 形态

       Portlet VIEW 形态的主要功能是通过生成标记语言来显示 portlet 的当前状态。比方说,一个 portlet VIEW 形态可能包含一到两个页面,用户可以浏览或者做某些操作。它也可能仅仅是一张静态页面而不做任何事情。

       开发者可以简单的通过重载 GenericPortlet doView() 方法来获得这项功能

       Portlet 必须支持 VIEW 形态

 

8.2 EDIT 形态

       EDIT 形态下面, portlet 应该提供相关的内容以及逻辑给用户,以便能够让用户可以自定义 portlet 行为。一个 EDIT 形态的 portlet 应该有 1 到多个窗口,这样用户就能从这些窗口进入他们自己自定义的数据了。

       通常, EDIT 形态的 portlet 会设置或者更新 Portlet 参数。参考 portlet 参数一节获得更多的细节。

开发者可以简单的通过重载 GenericPortlet doEdit() 方法来获得这项功能

Portlet 不必支持 EDIT 形态

8.3 HELP 形态

       help 形态下面, portlet 应该提供 portlet 本身的相关帮助信息。一个 portlet 的帮助信息可以是介绍 portlet 的完整帮助或者是内容相关的帮助文本。

开发者可以简单的通过重载 GenericPortlet doHelp() 方法来获得这项功能

Portlet 不必支持 HELP 形态

8.4 portlet 自定义形态

       Portlal 的提供者可以自定义 portlet 形态用来提供自己指定的功能

       要使用自定义 Portlet 形态,首先需要在部署描述器中添加 custom-portlet-mode 元素 ,其次需要在运行期找到该形态的 portal 实现。如果在运行期间找不到该自定义形态的 portal 实现,这个 portlet 就不应该被调用

       打个比方, portlet 应用需要支持 clipsboard 以及 config 形态的 portlet ,那么部署描述器里面可能这么写:

 

<portlet-app>

...

<custom-portlet-mode>

<description>Creates content for Cut and Paste</description>

<name>clipboard</name>

</custom-portlet-mode>

<custom-portlet-mode>

<description>Provides administration functions</description>

<name>config</name>

</custom-portlet-mode>

...

</portlet-app>

 

在《扩展 Portlet 形态》附录中列出了建议的 portlet 形态的命名参考以及他们的使用参考。如果 portlet 在部署描述器中定义了一个自定义的形态,并且 portal 容器实现了这种形态的话,那么 Portal 容器可以立即自动地映射这种支持形态。

 

 

8.5 GenericPorlet 渲染方法的处理

       GenericPorlet 通过 render 方法来分发用户的请求给 doView , doEdit , doHelp 方法。这个指定形态分发的动作在 doDispatch 里面都会指明。如果 portal 容器提供者需要支持一种新的形态,那么必须重载 doDispatch 方法。

 

8.6     定义 portlet 形态

 

Portlet 通过在它的部署描述器内配置 portlet 形态来获得它能使用的 portal 容器支持的形态。每个 Portlet 都必须支持 VIEW 形态,而且 VIEW 形态无需特别指定。

下面的例子显示了一个配置 Portlet 形态的样本:

...

<supports>

<mime-type>text/html</mime-type>

<portlet-mode>edit</portlet-mode>

<portlet-mode>help</portlet-mode>

...

</supports>

<supports>

<mime-type>text/vnd.wap.wml</mime-type>

<portlet-mode>help</portlet-mode>

...

</supports>

...

 

以上的配置说明了,该 portlet html 标记语言下支持 edit ,help 形态,当然还支持默认的 view 形态。在 wml 语言环境下,支持 help 以及 view 形态。

 

 

 ===


以上是翻译节选,以后会陆续刊出其它章节
欢迎转载共同交流

 

posted on 2006-07-12 11:01 hk2000c 阅读(1699) 评论(0)  编辑  收藏 所属分类: Java 技术文章翻译

只有注册用户登录后才能发表评论。


网站导航: