Servlets

Dieser Typ kundenspezifischer Befehl bewirkt, dass das GUI einen Request mit einer konfigurierten URL sendet. Diese URL wird in der Datei itemRegistry.xml konfiguriert (siehe Zusätzliche Menübefehle konfigurieren).

Damit das Servlet gefunden wird, muss es in die GUI-Web-Applikation gelegt werden, und zwar die class -Datei des Servlets in das Unterverzeichnis von

.../webapps/GUI/WEB-INF/classes/

das dem Package-Namen des Servlets entspricht. Alternativ kann die jar -Datei in lib abgelegt werden. Das Servlet muss in

.../webapps/GUI/WEB-INF/web.xml

eingetragen werden. Die obigen Pfade beziehen sich auf das betreffende Instanzenverzeichnis.

Das Servlet muss von der Klasse com.infopark.cm.htmlgui.browse.CustomServlet abgeleitet werden. Dadurch sind die folgenden Hilfsmethoden verfügbar:

String getLogin(HttpServletRequest request)
liefert den Benutzernamen des aktuellen Benutzers.

Locale getLocale(HttpServletRequest request)
liefert das Locale (und damit die Sprache) des aktuellen Benutzers.

List getObjectIds(HttpServletRequest request)
liefert eine Liste der IDs aller Dateien, auf denen das Kommando aufgerufen wurde (bei globalen Kommandos die leere Liste).

String getReturnUri(HttpServletRequest request)
liefert einen URI, der per Browser-Redirect angefordert werden muss, um ins GUI zurückzuspringen.

String getDialogId(HttpServletRequest request)
liefert die Dialog-ID, die man für anschließende Requests benötigt.

Im kundenspezifischen Servlet können also das Login des aktuellen Benutzers und seine Sprache ermittelt werden. Ist der kundenspezifische Befehl dateispezifisch oder bezieht er sich auf eine Liste von Dateien, so stehen die IDs der betreffenden Dateien ebenfalls zur Verfügung (siehe die obigen Methoden).

Verwendungshinweise

Damit das Servlet nicht das GUI beeinträchtigt, darf nichts in der aktuellen Session gespeichert werden. Verwenden Sie statt der hierfür normalerweise verwendeten Methoden bitte die folgenden gleichnamigen Hilfsmethoden:

void setAttribute(HttpServletRequest request,
String key, Object value)

Object getAttribute(HttpServletRequest request, String key)

void removeAttribute(HttpServletRequest request, String key)

Wenn das Servlet neue Requests auslöst, beispielsweise per Redirect oder über ein Formular, so muss die Dialog-ID als Request-Parameter (URL-Parameter, Formular-Feld o. ä.) weitergereicht werden, damit die Hilfsmethoden weiterhin funktionieren. Beim Rücksprung ins GUI ist dies nicht erforderlich.

Der Name des Parameters, unter dem die Dialog-ID weitergereicht werden muss, ist im statischen String-Feld DIALOG_ID enthalten.