2016-07-22 7 views
0

Я кодирую приложение с использованием модулей Liferay 7 и OSGi. Мне нужно создать пользовательский taglib, доступный во всех модулях (портлетах), но я не понимаю, с чего начать.Создание пользовательского taglib в Liferay 7

У вас есть идея?

Должен ли я хранить определение taglib, классы и JSP в модулях OSGi? А если нет, где и как я могу ссылаться на него из модуля портлета?

Большое спасибо

ответ

4

В большинстве случаев вы должны быть в состоянии поставить TagLib полностью внутри модуля OSGi. Вы можете найти несколько примеров в исходном коде Liferay, где это сделано, например, следующие:

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

Как вы можете видеть в этом примере, вы можете объявить, что модуль будет экспортировать TagLib с помощью организовать- Возможность в файле bnd.bnd:

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

Этот механизм работает, чтобы перезаписать классы основного taglib? – asotog