liferay学习4--helloLiferay例子

来源:互联网 发布:格瓦拉网络购票 编辑:程序博客网 时间:2024/05/21 04:00

   上一篇设置好了开发工具eclipse IDE,现在就用eclipse来创建一个porlet。

   File->new Liferay Prorlet

  









登录portal




点击“添加”,就会在右边出现了。。。。发现点击hello-liferay的时候会报错,而且,明明是只创建了一个prolet而已,为什么会有两个示例。。。看下配置


liferay-dispaly.xml

<display><category name="category.sample"><portlet id="hello-liferay" /><portlet id="HelloLiferay"></portlet></category></display>
category.sample就是说下面的那些porlet会显示在“示例”目录下。它这里居然生成了2个porlet

在看下porlet.xml

<?xml version="1.0"?><portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"><portlet><portlet-name>hello-liferay</portlet-name><display-name>hello-liferay</display-name><portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class><init-param><name>view-template</name><value>/view.jsp</value></init-param><expiration-cache>0</expiration-cache><supports><mime-type>text/html</mime-type></supports><portlet-info><title>hello-liferay</title><short-title>hello-liferay</short-title><keywords>hello-liferay</keywords></portlet-info><security-role-ref><role-name>administrator</role-name></security-role-ref><security-role-ref><role-name>guest</role-name></security-role-ref><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><portlet-name>HelloLiferay</portlet-name><display-name>HelloLiferay</display-name><portlet-class>com.fei.porlet.HelloLiferay</portlet-class><init-param><name>view-template</name><value>/html/helloliferay/view.jsp</value></init-param><init-param><name>edit-template</name><value>/html/helloliferay/edit.jsp</value></init-param><init-param><name>help-template</name><value>/html/helloliferay/help.jsp</value></init-param><expiration-cache>0</expiration-cache><supports><mime-type>text/html</mime-type><portlet-mode>view</portlet-mode><portlet-mode>edit</portlet-mode><portlet-mode>help</portlet-mode></supports><portlet-info><title>HelloLiferay</title><short-title>HelloLiferay</short-title><keywords></keywords></portlet-info><security-role-ref><role-name>administrator</role-name></security-role-ref><security-role-ref><role-name>guest</role-name></security-role-ref><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-app>

porlet-name和上面的liferay-display.xml中的porlet-id对应。再看下porlet-class,只有HelloLiferay对应的portlet-class才是我们自定义的。既然这样,那就把不需要的干掉,试试看。

liferay-display.xml

<display><category name="category.sample"><portlet id="HelloLiferay"></portlet></category></display>

porlet.xml

<?xml version="1.0"?><portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"><portlet><portlet-name>HelloLiferay</portlet-name><display-name>HelloLiferay</display-name><portlet-class>com.fei.porlet.HelloLiferay</portlet-class><init-param><name>view-template</name><value>/html/helloliferay/view.jsp</value></init-param><init-param><name>edit-template</name><value>/html/helloliferay/edit.jsp</value></init-param><init-param><name>help-template</name><value>/html/helloliferay/help.jsp</value></init-param><expiration-cache>0</expiration-cache><supports><mime-type>text/html</mime-type><portlet-mode>view</portlet-mode><portlet-mode>edit</portlet-mode><portlet-mode>help</portlet-mode></supports><portlet-info><title>HelloLiferay</title><short-title>HelloLiferay</short-title><keywords></keywords></portlet-info><security-role-ref><role-name>administrator</role-name></security-role-ref><security-role-ref><role-name>guest</role-name></security-role-ref><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-app>

liferay-porlet.xml

<?xml version="1.0"?><!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_2_0.dtd"><liferay-portlet-app><portlet><portlet-name>HelloLiferay</portlet-name><icon>/icon.png</icon><instanceable>true</instanceable><header-portlet-css>/css/main.css</header-portlet-css><footer-portlet-javascript>/js/main.js</footer-portlet-javascript><css-class-wrapper>helloliferay-portlet</css-class-wrapper></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>

保存,tomcat会自动更新。。。刷新浏览器,发现示例下只有HelloLiferay了



因为HelloLiferay,创建的时候,选择了运行添加多个实例,所以添加后,它没变灰,如果想设置会,一个页面只能添加一次,则


注意pom.xml中的

<profiles><profile><id>Liferay-v6.2-CE-(Tomcat-7)</id><properties><liferay.version>6.2.5</liferay.version><liferay.maven.plugin.version>6.2.5</liferay.maven.plugin.version><liferay.auto.deploy.dir>F:\liferaytest\liferay-portal-6.2-ce-ga6\deploy</liferay.auto.deploy.dir><liferay.app.server.deploy.dir>F:\liferaytest\liferay-portal-6.2-ce-ga6\tomcat-7.0.62\webapps</liferay.app.server.deploy.dir><liferay.app.server.lib.global.dir>F:\liferaytest\liferay-portal-6.2-ce-ga6\tomcat-7.0.62\lib\ext</liferay.app.server.lib.global.dir><liferay.app.server.portal.dir>F:\liferaytest\liferay-portal-6.2-ce-ga6\tomcat-7.0.62\webapps\ROOT</liferay.app.server.portal.dir></properties></profile></profiles>

liferay的tomcat路径不能错。。。。当然,这时eclipse自动生成的(看第一幅图)。。。。实际项目中,每个开发人的tomcat路径不同,如果每个人都修改,那就不好了,所以这个profile配置可以迁移到maven的settings.xml中,项目从svn或git下载后


选择settings.xml就可以了



0 0
原创粉丝点击