 |
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
|
 |