当前位置 博文首页 > 适己而忘人者,人之所弃;克己而立人者,众之所戴。:【Liferay

    适己而忘人者,人之所弃;克己而立人者,众之所戴。:【Liferay

    作者:[db:作者] 时间:2021-07-11 10:05

    注意:

    以下内容是基于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】按钮,跳转到配置页面。

    ?

    ?
    ?输入信息,提交之后,返回正常页面。如果显示如下内容,那么配置就成功了。

    ?

    ?

    cs