Bindung des Netscape Application Servers an CORBA 

Home > Deutsch > Ressourcen > NAS und CORBA > kapitel_10
(C) Christian R. Ey
last modified:
Sun Jan 20 20:40:24 GMT+01:00 2002
-- Impressum / Contact --

Zurück Weiter


Übertragen der Parameter

Das Übertragen der Parameter findet zwischen AppLogics und HTML-Seiten statt. Dies kann in NAS durch Verwendung zweier verschiedener Klassen getan werden: entweder TemplateMapBasic oder TemplateDataBasic. Die Vor- und Nachteile der beiden abzuwägen würde den Rahmen dieses Dokumentes sprengen, man kann dies jedoch in der Dokumentation des Netscape Application Servers nachlesen. Wir entwickelten die Klasse ParameterPassing, die Methoden für beide Template-Klassen zur Verfügung stellt. Eine Liste vom Typ IValList wird in das entsprechende Template-Objekt gespeichert und je nach Methode als HIDDEN VALUE für HTML-Seiten oder als Rohdaten codiert.

Folgende Methoden sind in der Klasse ParameterPassing definiert:

  • Methoden, die Feldnamen zur Bearbeitung in HTML-Template-Files zurückgeben (werden hauptsächlich innerhalb der Klasse verwendet)
    • public String templateDataName();
      gibt den Namen des zurückzugebenden TemplateDataBasics zurück: "TDN"
    • public String hiddenName();
      gibt den Namen des Feldes an, das die Daten als HIDDEN VALUES formatiert: "HIDDEN"
    • public String linkName();
      gibt den Namen des Feldes an, das die Daten zum Anhängen an Links formatiert: "LINK"
  • public boolean isMyOwnParameter( String aParameterName);
    überprüft, ob aParameterName ein Parameter Name ist, wie es in der Klasse VariableAndParameter definiert ist. Dies ist eine Factory-Methode. Eine Unterklasse muß sie mit dem folgenden Code überschreiben:
    return ihreEigeneUnterklasseVonVariableAndParameter.isParameter( aParameterName);
  • public IValList extractParameters( IValList inputValList);
    extrahiert alle Paare in inputValList, die als Parameter identifiziert werden (definiert in VariableAndParameter) und gibt diese in einem neuen IValList Objekt zurück.
  • public TemplateDataBasic createParameterTemplateData(
                                                IValList inputValList);

    ruft createParameterTemplateData(.) auf mit dem Default Namen der Methode this.templateDataName().
  • public TemplateDataBasic createParameterTemplateDate(
                                                IValList inputValList,
                                                String templateName);

    erzeugt ein TemplateDataBasic Objekt, das einen HIDDEN VALUE für jeden Parameter in inputValList enthält und benennt es templateName.
  • public TemplateMapBasic createParameterTemplateMap(
                                                IValList inputValList);

    ruft createParameterTemplateMap(.) auf mit den Default Namen der Methoden this.hiddenName() und this.linkName().
  • public TemplateMapBasic createParameterTemplateMap(
                                                IValList inputValList,
                                                String hiddenName,
                                                String linkName);
    erzeugt ein TemplateMapBasic Objekt, das zwei Felder enthält, eines mit dem Namen definiert in hiddenName, das die Parameter enthalten in inputValList formatiert als HIDDEN VALUE für HTML-Seiten und ein Feld mit dem Namen definiert in linkName, das die Parameter enthält formatiert als String, der an Links in HTML angehängt werden kann.

An dieser Stelle möchte ich erklären, wie wir Parameter innerhalb der IValLists kennzeichnen und erkennen: Da Variablen eindeutig identifiziert werden, erzeugen wir einen UID-String mit der UID Klasse in Java und stellen diesem String einen Präfix vor. Diesen Präfix kann ein Programmierer selbst definieren, wir haben jedoch schon Klassen vorgegeben, die diese Definition vornehmen und durch Vererbung verändert werden können.

Die Klasse VariableAndParameter enthält verschiedene Methoden, die beim Arbeiten mit Variablen und Parametern behilflich sind.

  • public String variablePrefix();
    gibt den definierten Präfix zurück, der eine Variable als solche identifiziert: "_VAR_"
  • public String parameterPrefix();
    gibt den definierten Präfix zurück, der einen Parameter als solchen identifiziert: "_PAR_"
  • public String createVariable();
    erzeugt einen eindeutigen UID-String mit Präfix von this.variablePrefix().
  • public boolean isVariable( String aString);
    überprüft, ob aString den Variablen-Präfix hat.
  • public boolean isParameter( String aString);
    überprüft, ob aString den Parameter-Präfix hat.
  • public String createParameter( String nameString);
    erzeugt einen Parameter aus nameString durch Voranstellen des Präfixes, der von this.parameterPrefix() zurückgegeben wird. nameString wird ohne Veränderung zurückgegeben, wenn nameString schon ein Parameter ist.
  • public String parameterToString( String aParameter);
    gibt aParameter als String zurück, d.h. es löscht den von this.parameterPrefix() zurückgegebenen Präfix von aParameter und gibt das Ergebnis zurück.

Das Framework besteht daher aus vier Klassen:

  • VariableAndParameter; erzeugt eindeutige Identifizierer, denen ein Präfix vorangestellt wird; stellt Methoden zum Checken der Struktur einer Variable und eines Parameters zur Verfügung; erlaubt das Umwandeln von Strings in Parameter und zurück.
  • ParameterPassing; stellt Methoden zum Extrahieren von Parametern von einer IValList und zum Erzeugen von TemplateMapBasic Objekten und TemplateDataBasic Objekten mit allen nötigen Daten für die nächste HTML-Seite.
  • SessionStorage; zum Manipulieren des Session Speichers.
  • ExtensionStorage; wird später zum Verbinden von NAS und CORBA mit Extensions benötigt, sehen Sie bitte hierzu das Kapitel Speicher für die Extensions.


Zurück Weiter, Autor: Christian Ey, http://www.inweb.de/chetan