`
byf157
  • 浏览: 207751 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Liferay二次开发示例

阅读更多
Liferay是经过商业考验的开源Portal项目,它自带了丰富的Portlet和例子。
 
Progress is the activity of today and the assurance of tomorrow .
(Emerson, American thinker )
进步是今天的活动、明天的保证。 (美国思想家 家默生)
 
Liferay Portal企业版,构建在Portlet API(JSR 168之上)并且有为用户提供了丰富的Portlets。
 
I.HelloWorld
 
a.这个Portlet定义在 /portal-web/docroot/WEB-INF/portlet.xml中:
 
<portlet>
    <portlet-name>47</portlet-name>
    <display-name>Hello World</display-name>
    <portlet-class>
       com.liferay.portlet.helloworld.HelloWorldPortlet
    </portlet-class>
    <expiration-cache>0</expiration-cache>
    <supports>
        <mime-type>text/html</mime-type>
    </supports>
    <portlet-info>
        <title>Hello World</title>
        <short-title>Hello World</short-title>
        <keywords>Hello World</keywords>
    </portlet-info>
    <security-role-ref>
        <role-name>Power User</role-name>
    </security-role-ref>
    <security-role-ref>
        <role-name>User</role-name>
    </security-role-ref>
</portlet>
 
这个Portlet的唯一标识:47.
 
这个HelloWorldPortlet扩展自 Javax.portlet.GenericPortlet.源代码:source 它仅仅是打印出 Hello World字样。
 
标题定义在Portlet-info中。用户必须拥有Power User或者是User权限才能访问这个Portlet.指定何种roles可以在运行期通过Admin Portlet来指定。
 
b.可以为Porltet添加额外的定义: /portal-web/docroot/WEB-INF/liferay-portlet.xml
 
<portlet id="47" struts-path="hello_world" narrow="true" />
 
id值是上面定义过的Portlet的唯一标识。
 
Struts-path值告诉Struts 所有包含Http://localhost/c/hello_world/*的请求都属于这个Portlet自己的域。
 
narrow值,如果为真,意味着在窄行中现实这个Portlets。当然,可以通过Admin portlet来在运行期修改。
 
c.这个portlet显示的信息在/portal-web/docroot/WEB-INF/liferay-display.xml这容许用户通过个性化定制页面来添加它。
 
<category name="category.test">
    <portlet id="47" />
    <portlet id="48" />
</category>
 
当用户转动个性化页面,点击一个分类来选择一个porltet,那么你可以在关键词为category.test的分类中找到这个portlet。这个关键词的值可以定义在/portal-ejb/classes/content/Language.properties.
 
category.test=Test
 
II.IFrame
 
a.它定义在/portal-web/docroot/WEB-INF/portlet.xml
 
<portlet>
    <portlet-name>48</portlet-name>
    <display-name>IFrame</display-name>
    <portlet-class>com.liferay.portlet.IFramePortlet</portlet-class>
    <expiration-cache>0</expiration-cache>
    <supports>
        <mime-type>text/html</mime-type>
        <portlet-mode>edit</portlet-mode>
    </supports>
    <resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
    <portlet-preferences>
        <preference>
            <name>src</name>
            <value>http://www.gfa.org</value>
        </preference>
        <preference>
            <name>auth</name>
            <value>false</value>
        </preference>
        <preference>
            <name>auth-type</name>
            <value>basic</value>
        </preference>
        <preference>
            <name>form-method</name>
            <value>post</value>
        </preference>
        <preference>
            <name>user-name</name>
            <value></value>
        </preference>
        <preference>
            <name>password</name>
            <value></value>
        </preference>
        <preference>
            <name>hidden-variables</name>
            <value>var1=hello;var2=world</value>
        </preference>
    </portlet-preferences>
    <security-role-ref>
        <role-name>Power User</role-name>
    </security-role-ref>
    <security-role-ref>
        <role-name>User</role-name>
    </security-role-ref>
</portlet>
 
IFramePortlet类继承自 javax.portlet.GenericPortlet。它们代码:source 它仅仅是打印一个IFRAME tag的代码来应用外部站点的内容。
 
scr 指定绑定到外部资源的地址。
 
auth:需要认证否
 
auth-type 可以选择basic或者是form,认证方式,是通过添加URL信息认证还是需要表单认证。
 
form-method 值可以设置为get或者是post。
 
user-name认证所需的用户名
 
password:密码
 
b.标题通过StrutsResourceBundle取得,配置在 /portal-ejb/classes/content/Language.properties.
 
javax.portlet.title.48=IFrame.
 
c.额外的配置在/portal-web/docroot/WEB-INF/liferay-portlet.xml中:
 
<portlet id="48" struts-path="iframe" />
分享到:
评论

相关推荐

    Liferay Portal 二次开发指南

    ### Liferay Portal 二次开发指南 #### 一、Liferay Portal 架构解析 ##### 1.1 Portal规范 Liferay Portal遵循了两种主要的门户规范:JSR 168 和 WSRP (Web Services for Remote Portlets)。JSR 168是一个Java...

    Liferay 5.2.3 二次开发环境搭建

    本篇文章将详细讲解如何在基于Myeclipse 6和Tomcat 6.0.24的环境中搭建Liferay 5.2.3的二次开发环境。 **一、环境准备** 在开始Liferay的开发工作之前,我们需要准备好以下软件: 1. **Myeclipse 6**: 这是一个...

    liferay+Portal+二次开发指南

    ### Liferay Portal 二次开发指南 #### 一、Liferay Portal 概览 **Liferay Portal** 是一款开源的企业级门户平台,它基于Java技术构建,支持多种标准,包括JSR 168和WSRP等。Liferay Portal 提供了一个高度可定制...

    LiferayPortal二次开发指南破解版.pdf

    ### Liferay Portal 二次开发指南知识点详析 #### 一、Liferay Portal 架构解析 **1.1 Portal 规范** ##### 1.1.1 JSR 168 JSR 168 是 Java Portlet 技术的标准之一,由 Java Community Process (JCP) 发布。它...

    liferay6.06

    6.0.6版本在稳定性与性能上有所提升,适合开发者和企业进行二次开发。 2. 安装纯净版Eclipse: Eclipse作为主流的Java开发工具,被用于Liferay的开发环境。安装纯净版Eclipse可以避免插件冲突,确保开发过程顺利。 ...

    liferay

    ### Liferay Portal 二次开发详解 #### 一、Liferay Portal 概览 **Liferay Portal** 是一款开源的企业级门户平台,它基于Java技术构建,支持多种标准,包括JSR 168 和 WSRP (Web Services for Remote Portlets)。...

    MyEclipse8+Liferay 开发环境搭建

    ### MyEclipse 8 + Liferay 开发环境...通过上述步骤,开发者可以在 MyEclipse 8 环境下成功搭建 Liferay 的开发环境,并进行高效的二次开发工作。这不仅提高了开发效率,也为构建复杂的企业级应用提供了坚实的基础。

    Liferay form机制及例子

    4. **额外的请求与应答**:值得注意的是,从`actionURL`到`renderURL`的转换涉及到两次HTTP请求和响应:第一次是表单的提交,第二次是将处理结果呈现回客户端。这是因为portlet的生命周期设计,它需要在`...

    liferay-administration-guide

    2. **易于集成**:Liferay门户提供强大的插件市场(Liferay Plugins Catalog),方便开发者进行二次开发和扩展。 3. **支持的技术**: - 支持多种编程语言,如Java等。 #### 四、初始设置 ##### 1. Liferay的...

    alloy_Liferay使用YUI封装的框架,含使用文档

    框架中的"Alloy"部分,借鉴了 AlloyUI(AUI),它是Liferay公司对YUI的二次开发,增强了对Liferay特定功能的支持,如portlet通信、主题定制等。这使得开发者在构建Liferay插件或应用时,可以更快速地实现各种复杂...

    DZ论坛 开发 API文档 .zip

    这份文档主要针对想要利用DZ论坛API进行二次开发或者系统集成的程序员,旨在提供全面的技术支持,帮助他们理解并有效地使用DZ论坛的功能。 API(Application Programming Interface)是软件系统之间交互的接口,它...

    DZCMS插件开发指南.pdf

    #### 二、开发环境 项目开发基于以下技术栈: - **IDE**: Eclipse 7.5 - **Web Server**: Tomcat 6 - **Framework**: Spring 2.5 + SpringPortletMVC + Hibernate 3 - **Portal Server**: Liferay Portal 5.2.3 - ...

    portal

    开源门户框架提供了高度可扩展性和定制性,开发者可以根据项目需求进行二次开发。 “工具”标签可能是指用于构建和管理门户的工具,如portlet开发者工具、配置管理工具等,这些工具可以帮助开发者更高效地完成门户...

    portlet 源码+api

    portlet1_0 文件可能包含了一个按照portlet 1.0规范开发的示例或库。Portlet 1.0 是Java Portlet API的第一个版本,定义了portlet如何与门户服务器交互的基本接口和类。在这个版本中,portlet的主要功能包括渲染用户...

    Alerts Portlet-开源

    1. **源代码**:项目的Java源代码,开发者可以查看和修改Portlet的实现细节,或者根据自己的需求进行二次开发。 2. **文档**:可能包含开发者指南、用户手册和API文档,帮助用户快速了解和使用Portlet。 3. **构建...

Global site tag (gtag.js) - Google Analytics