将wicket开发的portlet应用发布到liferay上时,需要注意以下事项:
1、当前案例使用的版本
* wicket的portlet案例,wicket-portlet-examples(基于wicket1.2.1)可以从wicket的SVN上下载;
* liferay:使用的4.1.0的Pro版本
2、将基于wicket的portlet案例, 需要进行以下的操作:
2.1 修改web.xml
2.1.1 增加liferay的监听器
<listener>
<listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
</listener>
2.1.2 将
<servlet>
<servlet-name>WicketServlet</servlet-name>
<servlet-class>wicket.protocol.http.portlet.WicketPortletServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
替换成
<servlet>
<servlet-name>WicketServlet</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-class</param-name>
<param-value>wicket.protocol.http.portlet.WicketPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
2.1.3 将
<servlet-mapping>
<servlet-name>WicketServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
替换成
<servlet-mapping>
<servlet-name>WicketServlet</servlet-name>
<url-pattern>/WicketPortlet/*</url-pattern>
</servlet-mapping>
注意, url-pattern中的"WicketPortlet"是portlet.xml中portlet的名字.
2.2 添加liferay-portlet.xml
可参照标准的liferay的案例配置
2.2 添加liferay-display.xml
可参照标准的liferay的案例配置
3. 有一个点一定需要注意:
在编译wicket-portlet-examples的时候, 需要加上portlet-api.jar, 但在发布的时候,要把portlet-api.jar从WEB-INF/lib中删除,
否则liferay在发布的时候,会报错。具体原因不清楚,估计是liferay中已经使用了portlet.jar,与portlet-api.jar有冲突.