... |
... |
@@ -52,3 +52,53 @@ |
52 |
52 |
|
53 |
53 |
Die Werte von Zählern können über [[Platzhalter:doc>>Formcycle.UserInterface.Variables]] zum Beispiel im Workflow oder als Wert von Formularelementen ausgelesen werden. Die Syntax ist dabei wie folgt: |
54 |
54 |
{{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}} |
|
55 |
+ |
|
56 |
+== Zugriff auf Zählerwert per Servlet == |
|
57 |
+ |
|
58 |
+Der Wert der Zähler kann innerhalb von Formularen über einen Servletaufruf ermittelt werden. Es ist dabei möglich, den Zähler über seinen Namen oder seine UUID auszuwählen. Die entsprechenden {{smallcaps}}URL{{/smallcaps}}s zum Aufruf der Werte könnten zum Beispiel wie folgt aussehen: |
|
59 |
+ |
|
60 |
+{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}} |
|
61 |
+und |
|
62 |
+{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}} |
|
63 |
+ |
|
64 |
+ |
|
65 |
+In beiden Fällen wird eine gültige //form request id// (frid) benötigt, welche im Formular per JavaScript unter {{code language="none"}}XFC_METADATA.currentSessionFRID{{/code}} zu finden ist. Auf gleiche Art kann zudem die {{smallcaps}}URL{{/smallcaps}} des Servlets per JavaScript unter {{code language="none"}}XFC_METADATA.urls.counter_client{{/code}} ausgelesen werden. Dies ist wichtig, da sich die {{smallcaps}}URL{{/smallcaps}} bei Aufrufen über Frontend- und Masterserver unterscheidet. |
|
66 |
+ |
|
67 |
+Eine bespielhafte JavaScript-Abfrage, welche den Zählerwert in das Feld //tf1// schreibt, könnte also wie folgt aussehen: |
|
68 |
+ |
|
69 |
+{{code language="javascript"}} |
|
70 |
+$.ajax({ |
|
71 |
+ url:[ |
|
72 |
+ XFC_METADATA.urls.counter_client, |
|
73 |
+ "?frid=", |
|
74 |
+ XFC_METADATA.currentSessionFRID, |
|
75 |
+ "&name=Beispielzähler" |
|
76 |
+ ].join(""), |
|
77 |
+ success: function(data, textStatus, jqXHR) { |
|
78 |
+ if (data.success) { |
|
79 |
+ $('[data-name="tf1"]').val(data.result.value); |
|
80 |
+ } else { |
|
81 |
+ console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg); |
|
82 |
+ } |
|
83 |
+ } |
|
84 |
+}); |
|
85 |
+{{/code}} |
|
86 |
+ |
|
87 |
+Neben dem eigentlichen Wert werden auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur: |
|
88 |
+; success |
|
89 |
+: Boolscher Wert, der aussagt, ob die Werte gesetzt wurden. |
|
90 |
+; msg |
|
91 |
+: Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//. |
|
92 |
+; result |
|
93 |
+: Antwort auf die Anfrage. Wenn die anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten: |
|
94 |
+:; lastChange |
|
95 |
+:: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes |
|
96 |
+:; lastChangeTimestamp |
|
97 |
+:: Epoche der letzten Änderung des Zählerwertes |
|
98 |
+:; name |
|
99 |
+:: Name des Zählers |
|
100 |
+:; uuid |
|
101 |
+:: UUID des Zählers |
|
102 |
+:; value |
|
103 |
+:: Aktueller Zählerwert |
|
104 |
+ |