在 Liferay 7 中创建自定义标签库
Creating a custom taglib in Liferay 7
我正在使用 Liferay 7 和 OSGi 模块编写应用程序。我需要创建一个跨所有模块(portlet)可用的自定义标签库,但我不知道从哪里开始。
你有什么想法吗?
我应该将 taglib 定义、类 和 JSP 存储在 OSGi 模块中吗?如果没有,我可以在哪里以及如何从 portlet 模块引用它?
非常感谢
在大多数情况下,您应该能够在 OSGi 模块中完全交付标签库。您可以在 Liferay 的源代码中找到几个这样做的示例,例如:
https://github.com/liferay/liferay-portal/tree/master/modules/apps/foundation/map/map-taglib
如您在该示例中所见,您可以在 bnd.bnd 文件中使用 Provide-Capability 声明模块将导出标签库:
Provide-Capability: osgi.extender;osgi.extender="jsp.taglib";uri="http://liferay.com/tld/map";version:Version="${Bundle-Version}"
我正在使用 Liferay 7 和 OSGi 模块编写应用程序。我需要创建一个跨所有模块(portlet)可用的自定义标签库,但我不知道从哪里开始。
你有什么想法吗?
我应该将 taglib 定义、类 和 JSP 存储在 OSGi 模块中吗?如果没有,我可以在哪里以及如何从 portlet 模块引用它?
非常感谢
在大多数情况下,您应该能够在 OSGi 模块中完全交付标签库。您可以在 Liferay 的源代码中找到几个这样做的示例,例如:
https://github.com/liferay/liferay-portal/tree/master/modules/apps/foundation/map/map-taglib
如您在该示例中所见,您可以在 bnd.bnd 文件中使用 Provide-Capability 声明模块将导出标签库:
Provide-Capability: osgi.extender;osgi.extender="jsp.taglib";uri="http://liferay.com/tld/map";version:Version="${Bundle-Version}"