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 阅读(1772) 评论(0)  编辑  收藏 所属分类: Java 技术 、文章翻译