Alle Variablenamen von Eingabefeldern in einem Absatz (Section) ermitteln
Author: aVogt
Publication Date: 11/3/2011 10:42
Hallo,
um Seiten mit speziellen Werten für die Suche zu indexieren (über die PushApi) hole ich mir von jeder Seite einen bestimmten "Body"
Body pageBody = pg.getBodyByName("content");
und davon alle Absätze
listBodyChilds = pageBody.getChildren()
Beim iterieren über die Absätze erhalte ich eine Section, wie erwartet und gewünscht.
Bisher habe ich wie folgt weitergearbeitet
Data dataSect = sectionChild.getData();
List listVarNam = dataSect.getVariableNames()
Somit habe ich alle Variablenamen des Absatzes und darüber die Felder mit den "values" erhalten. Somit habe ich denn den Eintrag für die Suche aufgebaut. (z.B. alle Textfelder als ein Feld für die Suche zusammengeschrieben)
Nun habe ich auf FS4.2.452 umgestellt und getData() ist deprecated.
Mit
sectionChild.getFormData()
bekomme ich die FormData, wo es kein getVariableNames() mehr gibt.
Ich habe nun folgende MMöglichkeit gefunden, aber "GomText" steht nicht in der API (somit wahrscheinlich nicht öffentlich und soll sicher nicht unbedingt verwendet werden; die Ermittlung des Namen in der whileschleife ist nur exempalrisch und nicht vollstängigumgesetzt)
Iterable listVarNam1 = dataSect1.getForm().forms();
Iterator itListVarNam = listVarNam1.iterator();
while(itListVarNam.hasNext()) {
try{
GomText gt = (GomText) itListVarNam.next();
String feldName = gt.getName();
} catch (Exception E) {}
}
Muss ich nun immer die Variablenamen wissen oder gibt es eine andere Möglichkeit (ausser der o.g. falls sie verwendet werden sollte) an alle Variablenamen zu kommen?
Grüße aus Dresden
-
Author: andre - 11/3/2011 11:57
so in etwa sollte es funktionieren.
final FormData formData = ....getFormData();
final List<String> strings = formData.getForm().appendEditorNames(null);
for (final String name: strings) {
final FormField<?> formField = formData.get(language, name);
final Object value = formField.get(); // dieses ist dann der Feldwert
}
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar