2016-07-22 39 views
0

Ich bin eine Anwendung mit Liferay 7 und OSGi-Module codieren. Ich muss eine benutzerdefinierte Taglib für alle Module (Portlets) erstellen, aber ich habe keine Ahnung, wo ich anfangen soll.Erstellen einer benutzerdefinierten Taglib in Liferay 7

Haben Sie eine Idee?

Sollte ich die Taglib-Definition, Klassen und JSPs in einem OSGi-Module speichern? Und wenn nicht, wo und wie kann ich von einem Portlet-Modul aus darauf verweisen?

Vielen Dank

Antwort

4

In den meisten Fällen sollen Sie in der Lage sein, einen taglib vollständig innerhalb eines OSGi-Modul zu liefern. Sie können mehrere Beispiele in Liferay Quellcode finden, wo dies geschehen ist, wie die folgenden:

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

Wie Sie in diesem Beispiel sehen können, können Sie erklären, dass das Modul die taglib exportieren Sie- unter Verwendung von Fähigkeit in der bnd.bnd-Datei:

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

funktioniert dieser Mechanismus zum Überschreiben von Core-Taglib-Klassen? – asotog