1

我正在开发 Liferay 门户,我有一个处理门户管理员端和客户端端的 portlet。问题是客户端无法看到管理员页面(包括 portlet)。我还为门户创建了自定义数据库(我使用 Service Builder 在 Liferay 数据库中包含了我自己的表)。现在我想使用同一个数据库,这样我就可以使用客户端 portlet 从中获取信息。

有任何想法吗?

我将 Liferay 6.1 与 Tomcat 和 Liferay SDK 插件一起用于 Eclipse。

4

3 回答 3

2

您可以从 Web-Inf/lib 复制 [portlet name]-service.jar,并将其粘贴到任何其他 portlet 的 lib 文件夹中。如果您可以使用 maven 执行此操作并将此 jar 添加为依赖项,那就更好了。通过这种方式,您可以访问您的服务提供的 Util 类,以及任何其他 Portlet

于 2013-05-15T10:24:42.167 回答
0

插件项目中的所有 portlet 共享由该插件创建的服务构建器服务(因为它们最终位于一个 war 文件中,因此共享运行时上下文)。因此,您可以将两个 portlet 放在同一个插件中,它们都可以访问该插件的服务构建器服务/表。我想你会发现这是一种常用的方法。您提到的权限和可见性问题不受此组织的影响。

这样做可以使部署变得简单——只需部署插件的战争,完成。

如果有超出您控制范围的原因要求 Portlet 位于单独的插件中,那么这将变得更加困难—— yannicuLar 的方法是一种方法。

于 2013-05-15T14:46:25.837 回答
0

如果您有两个 portlet 共享相同的表/实体,您可以将 service.jar 复制到 tomcat-7.0.27\lib\ext 一个公共位置,这两个 portlet 可以在运行时访问这个 .jar。

于 2013-05-16T06:37:48.260 回答