在Liferay-EP(Liferay Enterprise Portal)上增加一个portlet(IFrame)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在Liferay-EP(Liferay Enterprise Portal)上增加一个portlet(IFrame)

作者:game.19xz 来源:19xz.com

【软件环境介绍】:

1,我使用的是liferay-ep-2.0.0-jboss-tomcat版(下面都简称为《liferay-ep 2》),我将她安装在D:\newPortalServer目录中。

2,使用eclipse作为IDE,用UltraEdit作为主要源码编辑器。

我的习惯是在源码编辑的差不多之后,使用eclipse来进行编译等处理。

3,对应版本的源代码解压在D:\java_workspace\liferay-portal目录中。(下面将简称《liferay-portal》。)

4,我这里要部署的内容是放在\server\default\deploy\ext.ear\目录下的,

相对于liferay-ep 2的\server\default\deploy\liferay-portal.ear\目录。

所以下面说的portal-web-complete.war,就是\server\default\deploy\ext.ear\portal-web-complete.war目录,其他依此类推。

下面我说的《WEB-INF》目录就是指\server\default\deploy\ext.ear\portal-web-complete.war\WEB-INF目录,

也就相对于liferay-ep 2的\server\default\deploy\liferay-portal.ear\portal-web-complete.war\WEB-INF目录。

5,下面部分XML配置文件,都是“XX-ext.xml”形式的,都是参照\WEB-INF\XX.xml文件创建的。使用“-ext.xml”文件是为了和liferay-ep 2本身提供的相区别。

【目标】:

增加一个简单的IFrame,用于展现一个简单OA应用。

【步骤】:

1,到http://sourceforge.net/project/showfiles.php?group_id=49260下载对应的SRC。

我下载的是liferay-ep-2.0.0-src.zip。

2,在liferay-portal\oa\src\com\liferay\portlet\oa目录下面,

仿照http://www.liferay.com/documentation/api/portal-ejb/com/liferay/portlet/IFramePortlet.java.html

创建自己的IFrameOAPortlet.java。

3,在eclipse中对源码进行编译。将liferay-portal\classes\com\liferay\portlet\oa目录下产生的IFrameOAPortlet.class

文件复制到D:\newPortalServer\server\default\deploy\ext.ear\portal-ejb.jar\com\liferay\portlet\oa目录。

4,在\WEB-INF\portlet-ext.xml文件中增加:

<portlet>

<portlet-name>EXT_100</portlet-name>

<display-name>test_IFrame</display-name>

<portlet-class>com.liferay.portlet.oa.IFrameOAPortlet</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://oaserver/oapath/db.nsf/formToDo?OpenForm</value>

</preference>

<preference>

<name>auth</name>

<value>true</value>

</preference>

<preference>

<name>auth-type</name>

<value>form</value>

</preference>

<preference>

<name>form-method</name>

<value>post</value>

</preference>

<preference>

<name>basic-auth-user-name</name>

<value>username</value>

</preference>

<preference>

<name>basic-auth-password</name>

<value>password</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>

这里主要需要注意的是:

portlet-name:这里的名字需要和之后步骤相对应。这里是“EXT_100”。

portlet-class:这里就是此前写的那个class“com.liferay.portlet.oa.IFrameOAPortlet”了。

portlet-preferences:这部分的内容还不很确定,估计此后主要也就是修改这一部分。

5,在\WEB-INF\liferay-portlet-ext.xml文件中增加:

<portlet id="EXT_100" struts-path="oa_todolist" />

这里主要需要注意的是:

id:要对应之前的portlet-name,这里是“EXT_100”。

struts-path:对于IFrame而言,这个路径是没有用的。

6,在\WEB-INF\liferay-display.xml文件中增加:

<category name="category.oa_todolist">

<portlet id="EXT_100" />

</category>

这里主要需要注意的是:

category name:这个要和之后步骤相对应。这里是“category.oa_todolist”。

portlet id:要对应之前的portlet-name,这里是“EXT_100”。

7,在\portal-ejb.jar\content目录下的Language_zh.properties.native文件中增加所需要的用于界面显示的文字信息。

注意:建议使用Window操作系统自带的记事本程序来进行这个文件的修改。因为要注意这个文件的编码格式。

本例中需要增加的有两个:

category.oa_todolist=OA待办事宜(测试)

javax.portlet.title.EXT_100=待办事宜(测试)

这里主要需要注意的是:

7.1,为category.oa_todolist这个分类设置一个用于界面显示的分类名称。

7.2,为具体的这个ID是“EXT_100”的portlet设置一个显示在category.oa_todolist这个分类下面的内容名称。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航