Session Variablen – Verwendung in JAVA
Session Variablen sind grundsätzlich nicht Case-Sensitiv sie sind immer UPPER-Case in der Session.
Konventionen:
Alle im System über Property-Files eingestellten session Variablen haben # oder $ als Prefix und sind damit global.
Session – Variablen mit P| als Prefix sind über Einstellungen || Prozesse und Einstellungen || Präferenzen || Voreinstellung gesetzt (und damit auch Global)
Für lokale session – variablen (gilt für ein bestimmtes Servlet) gibt es folgende Konvention:
Alle über das WAD erzeugten Fenster haben <AD_TAB_ID>| als Prefix.
Alle manuellen Servlets haben <Klassennamen>| als Prefix (ist bei den bestehenden Servlets nicht immer eingehalten, soll aber so sein.)
Session Variablen, die Datenbank-Felder beinhalten, haben als Namen den unveränderten Datenbank-Feldnamen. Hier gibt es keine Ersetzung von underscores, wie bei den HTML-Seiten
Verwendung:
Wenn man ganze Session variablen verwendet, nutzt man folgende Methoden aus VariablesSecureApp:
setSessionValue(“Product.PersistedVendor”,”VALUE”);
Setzt die Session Variable Product.PersistedVendor auf den Wert “VALUE”
getSessionValue(“Product.Vendor”);
Gibt die Session Variable Product.Vendor aus
vars.removeSessionValue(“Product.Vendor”);
Entfernt die Session Variable Product.Vendor
Um Session Variablen gleichzeitig mit dem Leses ines Parameters aus dem request zu setzen, gibt es die Methode:
getRequestGlobalVariable(“WindowID”, “Product.windowId”);
Holt aus dem Request das Feld WindowID, und schreibt es gleichzeit in in die Session-Variable Product.windowId.
Umgekehrt kann der Wert einer session variablen eingesetzt werden, wenn im Request ein Parameter nicht gesetzt ist:
getNumericGlobalVariable(“inpMayor”, “ReportSalesDimensionalAnalyzeJR|mayor”, “DEFAULT”);
bzw. getStringGlobalVariable(“inpMayor”, “ReportSalesDimensionalAnalyzeJR|mayor”, “DEFAULT”);
Holt aus dem Request das Feld inpMayor, wenn diese Leer ist, holt es die Session-Variable ReportSalesDimensionalAnalyzeJR|mayor. Wenn diese leer ist, gibt es Fall “DEFAULT” zurück.
Lesen von Request Parametern in JAVA
Konventionen:
Request Parameter haben folgendes Mapping:
HTML: Die Abfrage des Request ist im Unterschied zu den session-Variablen immer CASE-SENSITIV!
Grundsätzlich ist es der name des Input-Elementes, welches Abgefragt wird. Diese fängt immer mit dem Prefix inp an
Alle Datenbank-Felder werden grundsätzlich in lower-case als Request parameter verwendet:
z.B. Das Feld Active (Name in Windows / Tabs / Fields) hat in der Datenbank den Columname isactive und somit im HTML den Elementnamen
inpisactive
Achtung bei allen alten Servlets:
Bei Datenbankfeldern ist das Mapping von Unterscores. Underscores werde im HTML durch folgende regel ersetzt:
Entfernen des Underscores. Genau der Nächste Buchstabe nach dem Underscore ist UPPER-Case. Beispiel:
c_bpartner_id (Datenbank) wird zu inpcBpartnerId (HTML)
Auslesen der request Parameter:
Die Methoden für das auslesen der Request-Parameter sind:
getStringParameter(“inpisactive”); bzw. getNumericParameter(“inpprice”);
Holt aus dem Request das Feld newFilter
getInStringParameter(“sort_cols”, columnFilter);
Gibt bei Mehrfachauswahl z.B. in grids eine auswahlliste aus dem request zurück .
Formatierung: (‘v1′,’v2′,’v3’,….)