Wie bekomme ich die Portlet-ID mit dem Portlet-Namen in Liferay?

8

Ich benötige eine Ressourcenberechtigung unter Verwendung des Portlet-Namens.

Ich werde den Namen des Portlets nicht die ID haben.

Der Name der Ressourcenberechtigung für ein Portlet ist die ID dieses Portlets. Ich habe die Portlet-Tabelle überprüft, sie enthält nur die ID und andere Informationen. Wo werden die anderen Attribute des Portlets gespeichert?.

Gibt es eine Möglichkeit, die Portlet-ID mithilfe des Portlet-Namens zu erhalten? Ich habe eine Workaround, um alle Portlets zu bekommen und zu vergleichen, aber wenn ich direkt die Portlet-ID mit dem Portlet-Namen bekommen kann, wird es hilfreich sein.

Es ist dringend, wenn jemand weiß, dass pls antworten wird, wird es eine große Hilfe sein.

Vielen Dank im Voraus

    
Vijayalakshmi 22.06.2012, 06:15
quelle

2 Antworten

11

Wenn Sie genau sehen, wie die Portlet-ID basierend auf dem Portlet-Namen generiert wird, erhalten Sie die Antwort.

Es ist ein konstantes Muster, dem gefolgt wird, so dass Sie die Portlet-ID wie liveray konstruieren können, wenn Sie den Namen haben. Liferay konstruiert auch die ID mit Hilfe des Portlet-Namens.

Muster der Portlet-ID: <portletname in xml>_WAR_<servlet context name i.e. the war file without any special characters such as the hyphen>

Zum Beispiel: Wenn Ihr Portlet-Name MyWork in portlet.xml definiert ist und die generierte Datei im Ordner webapps (wenn Sie Tomcat verwenden) ist MyWork-portlet , dann lautet die resultierende ID MyWork_WAR_MyWorkportlet .

Wenn Sie nun den Quellcode von liveray haben, können Sie sich PortletLocalServiceImpl private _readPortletXML Methode.

Bearbeiten:
Wenn Sie die Portlets auf einer bestimmten Seite finden möchten (in friendly-url der Seite), finden Sie diese Antwort hilfreich.

    
Prakash K 23.06.2012 08:47
quelle
1

Sie können dies versuchen:

%Vor%

Nicht vergessen:

%Vor%     
Konstantin 08.07.2015 13:43
quelle

Tags und Links