`
jone33
  • 浏览: 26422 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

分享一些关于Liferay开发的一些文档和中文API

阅读更多

 

  原一直使用自己空间的博客,很少将信息都转换JavaEye与大家一同分享,向大家表示抱谦。

 

  Liferay资料分类目录:http://www.nethref.com/?cat=39

  Liferay标签使用说明文档:http://www.nethref.com/api/liferay-portal-doc-6.0.3/taglibs/

  Liferay DTD文档类型定义使用说明: http://www.nethref.com/api/liferay-portal-doc-6.0.3/definitions/

  Liferay API文档:http://www.nethref.com/api/liferay-portal-doc-6.0.3/javadocs/

 

  基于Java开发常用API综合:http://www.nethref.com/api/

 

 

 

      Liferay应用跟所有的Web应用一样,Liferay Portal采用多个XML部署描述文件,来初始化部署信息,规范操作模式,比如Portlet的初始化信息、可用的Portlet列表、Portlet所属角色和用

 

户组等等。通过这些部署描述文件,Liferay Portal可以在启动的时候自动加载Portlet,根据需要生成所需的Portlet页面。普通的Web应用,也可以很方便的转换成可部署的Portlet,p 这种实现也是JSR168和JSR286规定的。

1 web.xml
     web.xml是所有Java Web应用的部署描述文件。其正式的规范由http://java.sun.com/dtd/web-app_2_3.dtd 定义。与其他普通Web应用相比,Liferay Portal的Portlet 应用还需要在web.xml中增加如下内容:
     a、监听器:

<listener>
     <listener-class>com.Liferay.portal.servlet.PortletContextListener</listener-class>
</listener>

     这个要求web 服务器监听所有跟Portlet有关的请求信息,并将监听到的内容交给Liferay Portal的Portlet容器处理。

 

    b、Portlet Servlet映射: 

 

<servlet>   
    <servlet-name>yourPortlet</servlet-name>
    <servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
   <init-param>
        <param-name>Portlet-class</param-name>
         <param-value>full.name.of.yourPortlet</param-value>
    </init-param>
     <load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>yourPortlet</servlet-name>
<url-pattern>/yourPortlet/*</url-pattern>
</servlet-mapping>

    其中,servlet-name为部署的servlet名称;init-param中定义自己的Portlet类,这个param-name要跟portlet.xml、liferay-portlet.xml、liferay-display.xml中的portlet-name节点值一致。

 

   c、标签库映射:

 <taglib>

<taglib-uri>http://java.sun.com/Portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/liferay-Portlet.tld</taglib-location>
</taglib>
 

 

     定义了这个标签库映射,在JSP文件中才可以使用诸如<portlet:defineObjects />在内的一些特定的Portlet标签。
如果在应用中有用到其他的元素,可以按照web.xml规范加入到相应的位置当中。Liferay Portal默认的liferay应用,由于使用了Struts、Hibernate、Spring在内的多个开源框架,所以{PORTAL_HOME}/liferay/WEB-INF/web.xml文件会相对复杂些。在自定义的Portlet,可以使用getPortletConfig().getInitParameter(“ ”)和getPortletConfig().getParameterNames(“”)两个方法来取得在web.xml中定义的参数。


2 portlet.xml
      portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、resource bundle等普通的初始化信息,包括:portlet-name、display-name、portlet-class、init-param、expiration-cathe、supports、portlet-info、security-role-ref等等。其正式的规范请参考:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd 。根目录为portlet-webapp。

portlet-name:Portlet的规范名称,在Portlet应用中必须唯一,主要用在Portlet部署和映射中。
display-name:供部署工具调用的Portlet简称,在Portlet应用中必须唯一。
portlet-class:Portlet对应的类,这个类必须直接或者间接的继承javax.Portlet.GenericPortlet。
init-param:初始化参数,有成对的<name>和<value>子元素。通常定义Portlet相应模式下可用的JSP页面。
expiration-cathe:定义Portlet加载允许最长的过期时间,以秒为单位。-1代表用不过期。
supports:定义Portlet支持的模式。所有的Portlet都必须支持浏览模式。
其他的元素含义请参照:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd
当Web 应用中有多个的Portlet时,可以统一的在Portlet。xml中定义一组的<portlet>元素。

<portlet>
<portlet-name>TestPortlet</Portlet-name>
<display-name>TestPortlet</display-name>
<portlet-class>com.educhina.portal.FirstPortlet</Portlet-class>
<init-param>
<name>view-jsp</name>
<value>/view.jsp</value>
</init-param>
<init-param>
<name>edit-jsp</name>
<value>/edit.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<supports>
<mime-type>text/html</mime-type>
<Portlet-mode>edit</Portlet-mode>
</supports>
<portlet-info>
<title>educhina Test Portlet</title>
<short-title> educhina Test Portlet </short-title>
<keywords> educhina Test Portlet </keywords>
</portlet-info>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref></portlet>

 
3 liferay-Portlet.xml
    定义Portlet默认可用的用户组、默认模板、是否支持多个实例等,规范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd 定义。liferay-portlet.xml主要包含单独或者成组的<portlet>、<role-mapper>。其中,<portlet>下包含<portlet-name>、<struts-path>、<use-default-template>、<instanceable>等子元素,<portlet-name>在应用中必须唯一,且要跟portlet.xml相同;<role-mapper>下包含成对的<role-name>、<role-link>子元素。具体的元素含义请查看上述dtd定义。

<liferay-portlet-app>
<portlet>
<portlet-name> TestPortlet </portlet-name>
<struts-path> TestPortlet </struts-path>
<use-default-template>true</use-default-template>
<instanceable>true</instanceable>
</portlet>
<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>

 
4 liferay-display.xml
     定义Portlet默认的所属类别。Liferay Portal对Portlet实行按类别管理和划分用户权限。正如我们在用户策略中提到的,可以制定某个类别可用的用户组、用户和角色,方便权限控制。Liferay-display.xml规范由http://www.liferay.com/dtd/liferay-display_3_5_0.dtd 定义。

Liferay-display.xml中,<display>下成组的<category>描述了可用的类别,其中portlet元素的id必须与liferay-portlet.xml的portlet-name保持一致,且在应用中唯一。

<display>
<category name=”category.test”>
<portlet id=”TestPortlet” />
</category>
</display>

 

5 liferay-layout-templates.xml
      定义Portal可用的布局。正如我们在布局与品质中提到的那样,Portal采用tpl文件来规划桌面的布局。liferay-layout-templates.xml采用成组的layout-template来构建一个可用的布局列表。此xml的规范由http://www.liferay.com/dtd/liferay-layout-templates_3_6_0.dtd 来定义。

 

     本文采用Liferay Portal默认的布局,暂时不需要定义自己的布局,故不准备深入讨论。读者有兴趣可以自己查看相关资料。

<layout-templates>
<layout-template id=”1_column” name=”1 Column”>
<template-path>/html/layouttpl/1_column。tpl</template-path>
</layout-template>
<layout-template id=”2_columns_i” name=”2 Columns (50/50)”>
<template-path>/html/layouttpl/2_columns_i。tpl</template-path>
</layout-template>
<layout-template id=”3_columns” name=”3 Columns”>
<template-path>/html/layouttpl/3_columns。tpl</template-path>
</layout-template>
<layout-template id=”1_2_1_columns” name=”1-2-1 Columns”>
<template-path>/html/layouttpl/1_2_1_columns。tpl</template-path>
</layout-template>

 
6 liferay-look-and-feel.xml
     定义Portal可用品质的模板、图片、样式表等等,定义完毕后,Portal可以通过“布局与品质”管理工具来进行品质的切换。Liferay-look-and-feel.xml规范由http://www.liferay.com/dtd/liferay-look-and-feel_3_5_0.dtd 定义。

本文采用Liferay Portal默认的品质,不准备对品质的自定义深入探讨。有兴趣的读者可以查看相关资料。

 

 

源文地址:http://www.nethref.com/?p=210

分享到:
评论
8 楼 lzc_xiaoniu 2012-04-11  
您好。那个域名提示过期下不了。
麻烦您发一份到我邮箱吧。谢谢.
7 楼 lan861698789 2012-04-04  
我邮箱861698789@qq.com
6 楼 lan861698789 2012-04-04  
你好。能麻烦你也发一份给我吗?长沙老乡。liferay的资料。谢谢了!
5 楼 shaosuone 2011-12-08  
楼主能发一份给我吗,谢谢。shaosuone@163.com
4 楼 lgPlay 2011-11-29  
您好。那个域名提示过期下不了。
麻烦您发一份到我邮箱吧。
lgplay.lg@gmail.com
3 楼 恋上春天的风 2011-11-24  
jone33 写道
恋上春天的风 写道
提示域名过期了……

你如果需要 我可以单独发给你。域名没续费了

好哇,麻烦发我邮箱吧 yao6249@163.com
最近一直在折腾6.0.5,被折磨的够呛
2 楼 jone33 2011-11-02  
恋上春天的风 写道
提示域名过期了……

你如果需要 我可以单独发给你。域名没续费了
1 楼 恋上春天的风 2011-11-02  
提示域名过期了……

相关推荐

Global site tag (gtag.js) - Google Analytics