`
雪飞南国
  • 浏览: 1146 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

【转帖】liferay配置说明

 
阅读更多

转自:http://www.cnpoint.com/web/2007/0119/content_5228.htm
关于Liferay的配置文件 —— 基于Struts开发Portlet
结合Liferay实例sample-struts-portlet,基于Struts开发Portlet一般具有以下配置文件:

liferay-display.xml
liferay-portlet.xml
portlet.xml
struts-config.xml
tiles-defs.xml
web.xml


--------------------------------------------------------------------------------
(1)liferay-display.xml (定义Portal 中Portlet 管理的目录结构)
        配置在Portlet 的显示名称,以及该portlet 在显示列表中所在的目录。值得注意的是该处并没有直接给出在Portlet 显示列表中的显示名字,而是给出了Portlet ID,根据在porlet.xml 中portlet ID与Name 的关联,可得到该Portlet 的显示名字。

        <display>
            <category name="category.test">
                <portlet id="sample_struts_portlet" />
            </category>
        </display>

        效果:添加porlet 内容时,也就是在点击“add content” 时,名叫sample_struts_portlet 的portlet 将在目录中的test 项下显示。

(2)liferay-portlet.xml (定义基于Liferay Portal 下的Portlet 的特有属性)
    该配置文件定义portlet 属性和角色,该配置文件对基于JSR168的 portlet.xml 的属性进行扩展。

        <liferay-portlet-app>
        <portlet>
            <!-- 配置portlet 名,该名应对应于liferay-display.xml 中portlet 的id 属性 -->
            <portlet-name>sample_struts_portlet</portlet-name>
            <!-- 配置portlet 的实现类,该类响应该portlet 的请求,实现功能  -->
            <portlet-url-class>
                    com.liferay.portal.apache.bridges.struts.LiferayStrutsPortletURLImpl
            </portlet-url-class>
            <use-default-template>true</use-default-template>
            <restore-current-view>true</restore-current-view>
        </portlet>
        <!-- 配置该portlet 的角色,以及角色的显示名字,角色名role-name 是由portlet.xml 中进行定义 -->
        <role-mapper>
            <role-name>administrator</role-name>
            <role-link>Administrator</role-link>
        </role-mapper>
        <role-mapper>
            <role-name>guest</role-name>
            <role-link>Guest</role-link>
        </role-mapper>
        <role-mapper>
            <role-name>power-user</role-name>
            <role-link>Power User</role-link>
        </role-mapper>
        <role-mapper>
            <role-name>user</role-name>
            <role-link>User</role-link>
        </role-mapper>
    </liferay-portlet-app>

    效果:该portlet 由com.liferay.portal.apache.bridges.struts.LiferayStrutsPortletURLImpl 类的实例进行处理,允许使用模版和实时刷新页面。可配置administrator,guest,power-user,user 四种角色对其拥有不同的权限。

(3)portlet.xml (Portlet 的标准属性,该配置文件中的各项属性符合JSR168 标准,并非Liferay专用)
       该配置文件设置Portlet的各个属性,该各项属性在Portlet初始化时得以加载。

<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
    <portlet>
        <portlet-name>sample_struts_portlet</portlet-name>

       <!-- display-name 即为该Portlet显示的名字,liferay-display.xml 中配置了Portlet  id,关联该配置文件可找到其显示的名字,如下“Sample Struts Portlet" -->
        <display-name>Sample Struts Portlet</display-name>

       <!-- 由于在开发Portlet 时必须继承Portlet 的基础类,而此处是基于Struts 开发Portlet 时可继承该类  -->
        <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class>
       
       <!-- init-param 标签表示Portlet 的初始化参数 ,由name 标签和 value 标签指明其名字和值的一对数据 -->
        <init-param>
            <name>ServletContextProvider</name>
            <!-- 其值为该Portlet 可接收响应的URL或者类,URL 对应的类是哪个由Struts-config.xml 定义-->
            <value>com.liferay.util.apache.bridges.struts.LiferayServletContextProviderWrapper</value>
        </init-param>
        <init-param>
            <name>EditPage</name>
            <value>/portlet_action/sample_struts_portlet/edit</value>
        </init-param>
        <init-param>
            <name>HelpPage</name>
            <value>/portlet_action/sample_struts_portlet/help</value>
        </init-param>
        <init-param>
            <name>ViewPage</name>
            <value>/portlet_action/sample_struts_portlet/view</value>
        </init-param>


        <expiration-cache>0</expiration-cache>

       <!-- 定义该Portlet 所支持的功能,体现在每个Portlet 的展现模式 -->
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>edit</portlet-mode>
            <portlet-mode>help</portlet-mode>
        </supports>


        <portlet-info>
            <title>Sample Struts Portlet</title>
            <short-title>Sample Struts Portlet</short-title>
            <keywords>Sample Struts Portlet</keywords>
        </portlet-info>

        <!-- 指明对该Portlet 可能拥有权限的角色,该角色定义决定了liferay-portlet.xml 所配置的角色名  -->
        <security-role-ref>
            <role-name>administrator</role-name>
        </security-role-ref>
        <security-role-ref>
            <role-name>guest</role-name>
        </security-role-ref>
        <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-app>

效果:定义了Portlet 的基本信息,展现方式,以及对该Portlet 可能分配权限的用户角色。


(4)struts-config.xml (该配置文件为Struts 的配置文件,并非Liferay 专用)
<struts-config>

    <!-- Forms Beans -->
    <form-beans>
        <form-bean name="subscribeForm" type="com.sample.struts.struts.form.SubscribeForm" />
        <form-bean name="unsubscribeForm" type="com.sample.struts.struts.form.UnsubscribeForm" />
        <form-bean name="uploadForm" type="com.sample.struts.struts.form.UploadForm" />
    </form-beans>

    <!-- Action Mappings -->

    <action-mappings>

        <!-- Sample Struts -->

        <action path="/sample_struts_portlet/edit" forward="portlet.sample_struts_portlet.edit" />

        <action path="/sample_struts_portlet/help" forward="portlet.sample_struts_portlet.help" />

        <action path="/sample_struts_portlet/subscribe/action" type="com.sample.struts.struts.action.SubscribeAction" name="subscribeForm" scope="session" validate="true" input="portlet.sample_struts_portlet.subscribe">
            <forward name="/sample_struts_portlet/subscribe_success" path="/portlet_action/sample_struts_portlet/subscribe_success" redirect="true" />
        </action>

            <!--
            ……
            该处省略的雷同的设置代码
             ……
            -->

    <!-- Custom Request Processor -->

    <controller processorClass="org.apache.portals.bridges.struts.PortletTilesRequestProcessor" />

    <!-- Message Resources -->

    <message-resources parameter="content.test.Language" />

    <!-- Tiles Plugin -->

    <plug-in className="org.apache.struts.tiles.TilesPlugin" >
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
        <set-property property="moduleAware" value="true" />
        <set-property property="definitions-parser-validate" value="true" />
    </plug-in>

    <!-- Validator Plugin -->

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    </plug-in>
</struts-config>
效果:此处可与其它基于Struts 应用开发同样配置,与Liferay 相互独立。


(5)tiles-defs.xml (该配置文件是利用Tile 进行页面的布局管理,并非Liferay 专用)

<tiles-definitions>

    <!-- 关于页面的布局定义,表示当请求的Url为 portlet.sample_struts_portlet 则以路径path参数指定的 /html/portlet/sample_struts_portlet/template.jsp 页面进行响应-->
    <definition name="portlet.sample_struts_portlet" path="/html/portlet/sample_struts_portlet/template.jsp" />
    <!-- 关于页面的布局定义,表示名为 portlet.sample_struts_portlet.edit Url 的页面嵌套页面 /portlet/sample_struts_portlet/edit.jsp -->
    <definition name="portlet.sample_struts_portlet.edit" extends="portlet.sample_struts_portlet">
        <put name="portlet_content" value="/portlet/sample_struts_portlet/edit.jsp" />
    </definition>
   
    <!--
            ……
            该处省略的雷同的设置代码
             ……
      -->
   
<tiles-definitions>
  
效果:此处可与其它基于Tiles 应用开发同样配置,与Liferay 相互独立。


(6)web.xml (该配置文件为Tomcat 的应用配置文件,并非Liferay 专用)
<web-app>
    <!-- 注意:此处的display-name与portlet.xml 中的display-name 含义不同,此处仅标识在Tomcat 下的应用编写此不得与其它Portlet 和发布的其他应用标识重名 -->
    <display-name>sample-struts-portlet</display-name>

    <context-param>
        <param-name>company_id</param-name>
        <param-value>liferay.com</param-value>
    </context-param>

    <listener>
        <listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>sample_struts_portlet</servlet-name>
        <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
        <init-param>
            <param-name>portlet-class</param-name>
            <param-value>org.apache.portals.bridges.struts.StrutsPortlet</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>PortletActionServlet</servlet-name>
        <servlet-class>com.liferay.util.apache.bridges.struts.LiferayPortletServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>TestSessionServlet</servlet-name>
        <servlet-class>com.sample.struts.servlet.TestSessionServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>sample_struts_portlet</servlet-name>
        <url-pattern>/sample_struts_portlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>PortletActionServlet</servlet-name>
        <url-pattern>/portlet_action/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>TestSessionServlet</servlet-name>
        <url-pattern>/test_session/*</url-pattern>
    </servlet-mapping>

    <taglib>
        <taglib-uri>http://java.sun.com/portlet</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://struts.apache.org/tags-bean</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://portals.apache.org/bridges/struts/tags-portlet-html</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-portlet-html.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://struts.apache.org/tags-logic</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://struts.apache.org/tags-nested</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://struts.apache.org/tags-tiles</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
    </taglib>
</web-app>
分享到:
评论

相关推荐

    Liferay5.1.2配置Oracle10G数据库操作说明书

    【Liferay 5.1.2 配置 Oracle 10G 数据库操作详解】 Liferay 是一款开源的企业级门户平台,它默认使用 HSQLDB 作为内置数据库。然而,在某些场景下,用户可能需要将数据库迁移至更强大的 Oracle 10G 数据库。这个...

    Liferay 配置oracle DB的脚本

    新建Liferay的DB,然后将该文件导入该DB后,即可创建Liferay所需要的Table,并insert提供的初始值。

    liferay配置说明

    这里面市liferay配置的详细步骤,有需求的人赶紧下载吧。

    liferay配置使用开发大全

    《Liferay配置使用开发大全》是一本全面介绍Liferay Portal平台的指南,涵盖了从环境配置到深度开发的全过程。Liferay Portal是一款开源的企业级内容管理平台,广泛应用于构建企业内部和外部的协作、社交和信息发布...

    Liferay配置二次开发环境——Eclipse

    在IT行业中,软件开发环境的配置是至关重要的一步,尤其是对于复杂的开源项目,如Liferay。Liferay是一款功能丰富的开源企业门户平台,它允许开发者构建、定制和管理企业级的Web应用。为了对Liferay进行二次开发,...

    liferay + cas + ldap 集成配置

    标题 "Liferay + CAS + LDAP 集成配置" 涉及到的是在企业级内容管理系统 Liferay 中集成 Central Authentication Service (CAS) 和 Lightweight Directory Access Protocol (LDAP) 的过程。这种集成允许用户通过CAS...

    LIFERAY4.2.0版配置

    在本文中,我们将深入探讨如何配置Liferay 4.2.0版本,这是一个知名的开源企业级门户平台。根据描述,虽然官方文档可能是针对4.3.5版本的,但据称4.2.0版本与之仅有微小差异。我们将重点关注如何在Eclipse集成环境中...

    配置liferay开发环境说明

    ### Liferay开发环境配置知识点详解 #### 一、概述 Liferay是一款开源的企业级门户平台,支持企业内外部网站、社区、社交网络等多种应用。本文档主要介绍如何配置Liferay的开发环境,以便进行定制开发。 #### 二、...

    Liferay5.2.3和CAS配置成SSO

    本案例中,我们将探讨如何将Liferay 5.2.3与CAS(Central Authentication Service)配置为SSO系统。 Liferay是一款开源的企业级门户平台,它提供了一个灵活的框架来构建和管理Web应用程序。而CAS则是一个开源的身份...

    liferay开发文档.pdf

    liferay开发文档.pdf Liferay 是一个基于Java的开源企业门户平台,...这些知识点涵盖了Liferay 的安装、配置、Portlet开发、术语与缩写解释、版本历史等方面,旨在帮助读者更好地理解Liferay 的工作原理和开发技术。

    liferay使用说明--管理

    ### Liferay权限管理系统详解 Liferay是一款开源的企业级门户平台,提供了一系列强大的工具和服务,用于构建和管理企业网站、社区和应用程序。其中,权限管理是其核心功能之一,旨在帮助企业控制用户对不同资源的...

    liferay开发配置资料(全)

    这份"liferay开发配置资料(全)"压缩包包含了全面的Liferay开发和配置相关的资源,对于学习和掌握Liferay的使用、定制以及扩展非常有帮助。 首先,Liferay Portal的基础知识是必不可少的。Liferay Portal的核心...

    liferay cas ldap 集成配置

    Liferay、CAS(Central Authentication Service)和LDAP(Lightweight Directory Access Protocol)的集成配置是一项复杂的任务,尤其对于那些在IT领域中专注于身份验证和授权管理的研究者来说。以下将详细介绍如何...

    liferay+cas

    - **配置 Liferay SDK 和 Portal Runtime**:在 Eclipse 中设置 Liferay SDK 路径,并配置 Liferay Portal Runtime,使其指向安装的 Tomcat 服务器和 Liferay 门户。 - **启动服务**:通过 Eclipse 的 Server 视图...

    Liferay集群负载均衡配置

    【标题】:“Liferay集群负载均衡配置” 【描述】:“Liferay是一款开源的企业级门户平台,它提供了丰富的功能,如内容管理、社交网络、工作流程等。为了提高系统的可用性和性能,通常会采用集群部署策略,配合负载...

Global site tag (gtag.js) - Google Analytics