在Liferay 7

时间:2016-07-22 09:27:28

标签: liferay osgi taglib liferay-7

我正在使用Liferay 7和OSGi模块编写应用程序。我需要在所有模块(portlet)中创建一个自定义taglib,但我几乎不知道从哪里开始。

你有什么想法吗?

我应该在OSGi模块中存储taglib定义,类和JSP吗?如果没有,我在哪里,以及如何从portlet模块引用它?

非常感谢

1 个答案:

答案 0 :(得分:4)

在大多数情况下,您应该能够在OSGi模块中完全交付taglib。您可以在Liferay的源代码中找到几个完成此操作的示例,例如:

https://github.com/liferay/liferay-portal/tree/master/modules/apps/foundation/map/map-taglib

正如您在该示例中所看到的,您可以声明模块将使用bnd.bnd文件中的Provide-Capability导出taglib:

Provide-Capability: osgi.extender;osgi.extender="jsp.taglib";uri="http://liferay.com/tld/map";version:Version="${Bundle-Version}"