第五节 Liferay Portal的品质
Liferay Portal支持个性化的皮肤和外观设计,并将此作为品质单独管理。
2.5.1 什么是品质
品质是Liferay Portal的外观,包括题材和色彩设计两个部分。题材主要影响Portlet窗口的样式和Portal的整体效果,包括Portlet边框格式、功能按钮、Portal页面效果等等。色彩设计主要影响Portal的CSS样式效果。
Liferay Portal默认定义了多种题材效果和色彩设计效果。使用者可以在“品质”选项卡中很容易的选择自己满意的品质。
2.5.2 品质和Portlet、Portal的关系
品质跟Portlet和Portal的呈现效果有很大的关系。通常应该根据Portlet内容选择适当的品质即题材和色彩设计。
题材对Portal的影响主要体现在背景和整体风格上面,以及Portlet和其他功能菜单的布局位置。色彩设计主要影响Portal的字体大小以及颜色等效果。
题材主要控制Portlet生成的窗口的样式效果,包括边框效果、标题样式等等。色彩主要控制Portlet窗口的字体效果,包括字体大小、字体颜色等等。
选择合适的题材和色彩设计对于Portal页面的整体呈现效果有明显的影响。如下图:
定义个性化的品质
用户登录Portal系统之后,点击功能菜单上的“品质”,进入品质定制页面。选择适当的题材和色彩设计,相应的品质效果立即生效。
返回桌面查看品质效果。
使用者可以在二次开发的时候定义自己的品质,只要按照规范,在部署描述文件中定义可用的品质,Liferay Portal就可以自动调用。如下图:
第六节 Liferay Portal的部署描述文件
跟所有的Web应用一样,Liferay Portal采用多个XML部署描述文件,来初始化部署信息,规范操作模式,比如Portlet的初始化信息、可用的Portlet列表、Portlet所属角色和用户组等等。通过这些部署描述文件,Liferay Portal可以在启动的时候自动加载Portlet,根据需要生成所需的Portlet页面。普通的Web应用,也可以很方便的转换成可部署的Portlet。这种实现也是JSR168所规定的。
2.6.1 web.xml
web.xml是所有Java Web应用的部署描述文件。其正式的规范由http://java.sun.com/dtd/web-app_2_3.dtd 定义。
与其他普通Web应用相比,Liferay Portal的Portlet 应用还需要在web.xml中增加如下内容:
a、监听器:
com.Liferay.portal.servlet.PortletContextListener
这个要求web 服务器监听所有跟Portlet有关的请求信息,并将监听到的内容交给Liferay Portal的Portlet容器处理。
b、Portlet Servlet映射:
yourPortlet
com.liferay.portal.servlet.PortletServlet
Portlet-class
full.name.of.yourPortlet
0
。。。。。。。。。。。。。。。。。。。。。。。。。
yourPortlet
/yourPortlet/*
其中,servlet-name为部署的servlet名称;init-param中定义自己的Portlet类,这个param-name要跟portlet.xml、liferay-portlet.xml、liferay-display.xml中的portlet-name节点值一致。
c、标签库映射:
http://java.sun.com/Portlet
/WEB-INF/tld/liferay-Portlet.tld
定义了这个标签库映射,在JSP文件中才可以使用诸如在内的一些特定的Portlet标签。
如果在应用中有用到其他的元素,可以按照web.xml规范加入到相应的位置当中。
Liferay Portal默认的liferay应用,由于使用了Struts、Hibernate、Spring在内的多个开源框架,所以{PORTAL_HOME}/liferay/WEB-INF/web.xml文件会相对复杂些。
在自定义的Portlet,可以使用getPortletConfig().getInitParameter(“ ”)和getPortletConfig().getParameterNames(“”)两个方法来取得在web.xml中定义的参数。
2.6.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:初始化参数,有成对的和子元素。通常定义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中定义一组的元素。
TestPortlet
TestPortlet
com.educhina.portal.FirstPortlet
view-jsp
/view.jsp
edit-jsp
/edit.jsp
0
text/html
text/html
edit
educhina Test Portlet
educhina Test Portlet
educhina Test Portlet
guest
2.6.3 liferay-Portlet.xml
定义Portlet默认可用的用户组、默认模板、是否支持多个实例等,规范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd 定义。
liferay-portlet.xml主要包含单独或者成组的、。其中,下包含、、、等子元素,在应用中必须唯一,且要跟portlet.xml相同;下包含成对的、子元素。具体的元素含义请查看上述dtd定义。
TestPortlet
TestPortlet
true
true
administrator
Administrator
guest
Guest
power-user
Power User
user
User
2.6.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中,下成组的描述了可用的类别,其中portlet元素的id必须与liferay-portlet.xml的portlet-name保持一致,且在应用中唯一。
2.6.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默认的布局,暂时不需要定义自己的布局,故不准备深入讨论。读者有兴趣可以自己查看相关资料。
/html/layouttpl/1_column。tpl
/html/layouttpl/2_columns_i。tpl
/html/layouttpl/3_columns。tpl
1-2-1 Columns">
/html/layouttpl/1_2_1_columns。tpl
2.6.7 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默认的品质,不准备对品质的自定义深入探讨。有兴趣的读者可以查看相关资料。
posted on 2005-10-20 16:01
eamoi 阅读(5101)
评论(3) 编辑 收藏 所属分类:
Java