AgentParam

von jNotes - Team

Um was geht es? Webagenten sind bei der Domino-Webprogrammierung das Salz in der Suppe. Mit ihnen kann man die Stärken von Notes und Domino voll ausspielen. Beim Aufruf über URL können zusätzlich Parameter übergeben werden. Eine Möglichkeit, die bis zur Version 5.0.2 in der reinen Notes-Programmierung nicht möglich war. Diese Parameter müssen herausgefiltert werden. Eigentlich nicht mehr als eine lästige Fleißaufgabe. Zu diesem Zweck wurde die Klasse AgentParam geschrieben. Mit ihr ist ein einfacher Zugriff auf die Parameter möglich. Download "AgentParam.lss"

Zur Funktionsweise

Gehen wir beispielhaft von folgender URL aus:

/db.nsf/TestAgent?OpenAgent&var1=wert1&var2=dies+ist+ein+Test

Dabei werden dem Webagenten TestAgent in der Datenbank db.nsf die Parameter Var1 mit dem Wert "wert1" und Var2 mit dem Wert "dies ist ein Test" übergeben. Die Plus-Zeichen stellen die allgemein üblichen Ersetzungen für Leerzeichen in URLs dar. Die Parameter erhält man durch die Auswertung der CGI-Variable QUERY_STRING aus dem virtuellen Dokument session.DocumentContext

Dim session as New NotesSession
Dim docCtx as NotesDocument
Set docCtx = session.DocumentContext
Dim query$
query = docCtx.query_string(0)
' im Bsp. "?OpenAgent&var1=wert1&var2=dies+ist+ein+Test"

Das AgentParam-Objekt wird auf Basis dieses Anfrage erstellt.

Dim param as New AgentParam( query )

Nun kann man einfach auf die Agentparameter zugreifen.

Dim var1$,var2$,var3$
var1 = param.getParamValue("var1")
' Bsp "wert1"
var2 = param.getParamValue("var2")
' Bsp "dies ist ein Test" -> Decodierung inklusive
var3 = param.getParamValue("var3")
' Bsp "" -> nicht da-> also leer
erstellt am 09.09.2004 - nicht bewertet
Abgelegt unter: Agent, Web

Bewerten Sie diesen Artikel:


Senden Sie einen Kommentar

Name
E-Mail
Kommentar
FrageGATY-97Z3TF (bitte diesen Wert in unten stehendes Feld eintragen)
Antwort