liferay学习4--helloLiferay例子

   上一篇设置好了开发工具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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值