注意:
以下内容是基于Liferay 4.2.2版本,对于Liferay 5.1.X有很大的不同
对于这份指南,Configuration Portlet的开发流程采用的也是Struts Portlet的开发流程。
Step1:配置Portlet
添加portlet配置信息到…/ext-web/docroot/WEB-INF/portlet-ext.xml中。
对于这份指南, 添加下列内容到你的portlet-ext.xml。
Step2:配置Portlet实例属性
添加Liferay具体信息到…/ext-web/docroot/WEB-INF liferay-portlet-ext.xml。
对于这份指南, 添加下列内容到你的liferay-portlet-ext.xml中即可。
注意:
1.<sruts-path> 是value中第一个“/”和最后一个“/”之间的内容。
2. 这里的<portlet-name>??素的值 EXT_3必须要和portlet-ext.xml中的<portlet-name>元素的值一致的。
Step3:定义Portlet名称
定向到…/ext-ejb/classes/content/Language-ext.properties添加:
其中的key值(即javax.portlet.title.EXT_3),是“javax.portlet.title”+“portlet名字”(即在portlet-ext.xml中添加的portlet的<portlet-name>的值)
Step4:归类Portlet
定向到…/ext-web/docroot/WEB-INF/liferay-display.xml,添加Portlet归类信息如下:
以上信息主要是为了在添加应用窗口中显示定义的portlet。如果做了Step3,那么最终在添加应用窗口中显示是第三步所定义的名字。在本例中将显示“Default Message”。添加应用窗口如下图所示,因使用liferay版本不同页面效果会不太一样。
Step5:定义Struts页面流
在配置文件…/ext-web/docroot/WEB-INF/struts-config.xml中定义struts页面流。
注意:
这里的path="/ext/defaultmessage/view "值就是portlet-ext.xml中对应的view-action的值。
这里的path="/ext/defaultmessage/config "值就是liferay-portlet-ext.xml中对应的标签<configuration-path>的值。
Step6:定义tiles页面布局
在配置文件…/ext-web/docroot/WEB-INF/tiles-defs.xml中定义页面布局。
这理portlet.ext.defaultmessage.view 继承 portlet。这意味着portlet.ext.defaultmessage.view将会使用 portlet.jsp 作为它的模板。portlet.portlet_configuration.edit_configuration道理相同。
注意:
这里的name="portlet.ext.defaultmessage.view"值就是struts-config.xml中对应的forward="portlet.ext.defaultmessage.view"的值。
这里的name="portlet.ext.defaultmessage.config"值就是struts-config.xml中对应的forward="portlet.ext.defaultmessage.config "的值。
Step7:创建目录defaultmessage
创建一个叫defaultmessage的目录,你的目录结构应该像这样: …/ext-web/docroot/html/portlet/ext/defaultmessage。
Step8:创建init.jsp
在defaultmessage中创建init.jsp你的目录结构应该像这样:…/ext-web/docroot/html/portlet/ext/ defaultmessage /init.jsp。输入下列内容到init.jsp中:
看看我们在这行中包含了什么?
实际对应目录是:…/portal/portal-web/docroot/html/common/init.jsp。这将会让我们使用Liferay 标签库
Step9:创建view.jsp
在defaultmessage中创建view.jsp文件。在本例中,可以直接复制如下代码。
这将会让我们使用在上一步这定义的init.jsp
Step10:创建config.jsp
在defaultmessage中创建config.jsp文件。在本例中,可以直接复制如下代码。
这将会让我们使用在上一步这定义的init.jsp
Step11:创建Action类
创建 action 类来处理信息,DefaultMessageViewAction.java。
DefaultMessageConfigAction.java
Step12:测试框架部署
利用命令Ant deploy。部署文件到Tomcat服务器,需要重新启动服务器。检验文件是否部署到tomcat。
定向到… /tomcat/webapps/ROOT/WEB-INF 打开portlet-ext.xml,liferay-portlet-ext.xml,struts-config-ext.xml和tiles-defs-ext.xml检查文件是否部署正确。
定向到… /tomcat/webapps/ROOT/html/portlet/ext/defaultmessage打开view.jsp和config.jsp,检查文件是否部署正确。
启动服务器,访问http://localhost:8080。
登录系统,用户名:test@liferay.com。密码:test。
调出添加应用页面,找到添加的portlet。本例中,找到Default Message。
因为还没有配置信息,所以初始状态显示的是页面“/portal/portlet_not_setup”中的内容。点击【Configuration】按钮,跳转到配置页面。
输入信息,提交之后,返回正常页面。如果显示如下内容,那么配置就成功了。