Adressierbarkeit von Portlet-URLs (Uniform Resource Locator)

Sie können ein Portlet direkt über einen Uniform Resource Locator (URL) anfordern, um den Inhalt ohne Portalaggregation anzuzeigen. Das Servlet PortletServingServlet registriert jede Webanwendung, die Portlets enthält. Es ähnelt dem Servlet FileServingServlet des Web-Containers, das Ressourcen bereitstellt. Mit dem Servlet "PortletServingServlet" können Sie ein Portlet durch eine URL-Anforderung direkt an eine volle Browserseite übergeben.

Sie können jedes Portlet über seinen Kontextstamm und -namen mit der URL-Zuordnung /<Portletname> aufrufen, die für jedes Portlet erstellt wird. Beispiel:
http://<Host>:<Port>/<Kontextstammverzeichnis>/<Portletname> Beispiel: http://localhost:9080/portlets/TestPortlet1
Der Kontextstamm identifiziert die WAR-Datei (web Archive), die das Portlet enthält. Der Portlet-Name identifiziert das Portlet mit einer Portlet-Anwendung einer WAR-Datei. Das Servlet DefaultDocumentFilter unterstützt nur HTML, UTF8-Codierung und ein erweitertes URL-Format, das auf dem Basis-URL-Format basiert.

Sie können nur jeweils ein Portlet mit dem Servlet PortletServingServlet anzeigen. Wenn Sie mehrere Portlets auf der Seite zusammenfassen möchten, müssen Sie die Tab-Bibliothek für die Aggregation verwenden. Weitere Informationen finden Sie im Artikel zur Portletaggregation mit JavaServer Pages.

Ein Portlet bietet nur eine fragmentierte Ausgabe, während ein Servlet normalerweise Ausgabe in Form eines Dokuments bereitstellt, daher wird ein Mechanismus eingeführt, das das Fragment in ein Dokument konvertiert. Dieser Mechanismus wird als Filter PortletDocumentFilter bezeichnet. Standardmäßig unterstützt der Filter PortletDocumentFilter nur die HTML-Konvertierung. Die Konvertierung wird mit einem Servletfilter implementiert, bevor das Servlet PortletServingServlet gestartet wird, um den Inhalt des Portlets in Form eines Dokuments zurückzugeben. Dieser standardmäßig verwendete Dokumentservletfilter wird nur auf URL-Anforderungen angewendet, nicht auf Includes oder Forwards, die die Methode RequestDispatcher verwenden. Sie können Servletfilter erstellen, um zusätzliche Dokumentservletfilter anderer Markup-Formatierungen zu unterstützen. Weiter Informationen finden Sie im Artikel zur Konvertierung von Portletfragmenten in ein HTML-Dokument.

Das Servlet PortletServingServlet speichert keine Portlet-Vorgaben persistent in einer XML-Datei oder einer Datenbank. Es stellt die Portlet-Vorgaben direkt in einen Cookie, um die Vorgaben persistent zu speichern. Weitere Informationen zum Ändern dieses Verhaltens finden Sie im Artikel zu den Portlet-Vorgaben.

Syntax für Portlet-URLs

Sie können zusätzlichen Portalkontext hinzufügen, z. B. den Portlet-Modus oder den Fensterstatus. Sie können auf das Servlet PortletServingServlet zugreifen, indem Sie eine URL-Zuordnung mit der folgenden Struktur verwenden:
http://host:port/context/portlet-name [/portletwindow[/ver [/action | /resource[/id=custom-id][/cacheability]] [/mode] [/state] [rparam][/?name]]]
Alle abweichenden URL-Strukturen führen dazu, dass die Ausnahmebedingung com.ibm.wsspi.portletcontainer.InvalidURLException ausgelöst wird. Leere Zeichenfolgen sind als Parameterwerte nicht zulässig und lösen eine Ausnahmebedingung des Typs InvalidURLException aus. Es folgt eine Liste gültiger Parameter:
http:// host:port/context/portlet-name
Das ist die Mindestvoraussetzung für einen URL, mit dem auf ein Portlet zugegriffen wird. Ein Standardportletfenster "default" wird erstellt. Bei der Angabe der Variable portlet-name muss die Groß-/Kleinschreibung beachtet werden.
/portletwindow
Dieser Parameter identifiziert das Portlet-Fenster. Sie müssen diesen Parameter setzen, wenn Sie mehr Portalkontextdaten zum URL hinzufügen möchten.
/ver=major.minor
Dieser optionale Parameter wird verwendet, um die Version der verwendeten Portlet-API zu definieren. Sie müssen diesen Parameter setzen, wenn Sie mehr Portalkontextdaten zum URL hinzufügen möchten. Nur die Versionen 1.0 und 2.0 werden unterstützt. Andere Versionen lösen eine Ausnahmebedingung des Typs "InvalidURLException" aus.
/action
Das ist ein Parameter, der für das Aufrufen der Aktionsmethode des Portlet erforderlich ist. Der Aktionsparameter bewirkt, dass der Aktionsprozess des Portlet aufgerufen wird. Wenn die Aktion abgeschlossen ist, wird automatisch eine Umleitung abgesetzt, um den Übergabeprozess aufzurufen. Zum Steuern des nachfolgenden Übergabeprozesses kann ein Dokumentservletfilter ein Anforderungsattribut mit dem Namen "com.ibm.websphere.portlet.action" und dem Wert "redirect" setzen, um anzugeben, dass das Servlet, das das Portlet bereitstellt, direkt die nachher gültige Aktion angibt, ohne den Übergabeprozess aufzurufen.
/mode=view | edit | help | custom-mode
Dieser optionale Parameter definiert den Portlet-Modus, der für die Portlet-Übergabe verwendet wird. Der Standardmodus ist "view". Bei diesem Wert wird nicht zwischen Groß-/Kleinschreibung unterschieden. Beispielsweise wird bei Angabe von "Vew", "view" oder "VIEW" derselbe Modus aufgerufen.
/state=normal | maximized | minimized | custom-state
Dieser optionale Parameter definiert den Fensterstatus, der für die Portlet-Übergabe verwendet wird. Der Standardstatus ist "normal". Bei diesem Wert wird nicht zwischen Groß-/Kleinschreibung unterschieden, d. h. dass z. B. dass "Normal", "normal" oder "NORMAL" denselben Status definiert.
* [ /rparam=name *[=value] ]
Dieser optionale Parameter gibt die Übergabeparameter für das Portlet an. Wiederholen Sie diese Parameterkette, um mehrere Übergabeparameter anzugeben. Beispiel: /rparam=invitation/rparam=days=Monday=Tuesday.
?name=value&name2=value2 …
Es können Abfrageparameter angegeben werden. Diese Parameter werden zwar nicht explizit vom Portlet-Container unterstützt, machen das URL-Format jedoch nicht ungültig.
/action | /resource
Dieser Parameter definiert die Methoden des Portlets, das aufgerufen wird. Gültige Werte sind "no", "action" oder "resource". Es ist keine spezielle Methode definiert, die die Übergabemethode ("render") aufruft. Der Parameter "resource" wird nur für JSR-286-Portlets unterstützt.
/resource [/id=custom-id] [/cacheability=cacheLevelFull | cacheLevelPortlet | cacheLevelPage]
Geben Sie diesen Parameter an, um die Methode des aufzurufenden Portlets zu definieren. Er findet keine Umleitung statt. Es wird keine andere Portletmethode aufgerufen. Zur Steuerung des Ressourcenparameters können Sie den Parameter "id" hinzufügen, mit dem eine ID für die Bereitstellung von Ressourcen angegeben wird, die an das Portlet weitergegeben wird. Der Parameter "cacheability" definiert die Cachestufe dieses Ressourcen-URL. Dieser Parameter wird nur für JSR-286-Portlets unterstützt.
[AIX Solaris HP-UX Linux Windows][z/OS]Die folgende Liste enthält Beispiele für gültige JSR-168- und JSR-286-URLs:
  • http:// localhost:9080/sample/WorldClock
  • http:// localhost:9080/sample/WorldClock/myPortlet/ver=1.0/mode=edit/rparam=timezone=UTC
  • http:// localhost:9080/sample/WorldClock/myPortlet/ver=1.0/action/state=maximized?timezone=UTC
  • http://localhost:9080/sample/WorldClock/myPortlet/ver=2.0/resource/id=somePicture.jpg
[IBM i]Die folgende Liste enthält Beispiele für gültige JSR-168- und JSR-286-URLs:
  • http:// Name.Ihres.Servers:9080/sample/WorldClock
  • http:// Name.Ihres.Servers:9080/sample/WorldClock/myPortlet/ver=1.0/mode=edit/rparam=timezone=UTC
  • http:// Name.Ihres.Servers:9080/sample/WorldClock/myPortlet/ver=1.0/action/state=maximized?timezone=UTC
  • http://your.server.name:9080/sample/WorldClock/myPortlet/ver=2.0/resource/id=somePicture.jpg

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cport_url_address
Dateiname:cport_url_address.html