Liferay的学习已经有一周时间了,其间遇到了极大的困难。主要是网上的文档与示例与5.2.3版本不兼容,导致走了非常多的弯路,生成的Portlet总是无法使用。
现在把我遇到的主要问题列出来,如下:
1. liferay的web Portlet需要有四个配置文件。web.xml、liferay-display.xml、liferay-portlet.xml、portlet.xml。
2. portlet.xml完全按照sun的portlet标准写,这个问题不大,注意里面所有的xml标签都是小写的,网上有篇文档中的portlet-mode标签是大写的,迷惑了我很久。
3. web.xml中需要配置liferay的监听器,如下,注意5.2.3的listener等东西换到了com.liferay.portal.kernel命名空间下了。
portlet的servlet要这样配置,同样也在com.liferay.portal.kernel命名空间下。
4. liferay-portlet.xml中向liferay注册了portlet,注意它的doctype,这个文档的doctype自从5.2.0以后已经不同了,如下:
5. liferay-display.xml是向liferay表示将工程中的Portlet注册到哪个命名空间下。
写好之后将工程打成war包,就可以发布到liferay环境下面了,注意要设置工程的context,允许crossContext。
tomcat下面配置如下(%TOMCAT_HOME%/conf/Catalina/localhost/ 文件夹下增加 工程名.xml):
样例工程下载地址:
http://download.csdn.net/source/2620431