(JSP, JavaBean, XML) String zerlegen

Status
Nicht offen für weitere Antworten.

Marie Curie

Aktives Mitglied
Hallo alle zusammen,

ich hab folgendes Problem:
In einer JSP werden Eingaben aus einem Formular abgefangen, diese werden in String-Variablen als xml-Tags gespeichert und in ne ArrayList gepackt, also folgendermaßen:

Code:
String eingabe = "<xml-Tag>" + request.getParameter("eingabe") + "</xml-Tag>";
ArrayList.add(eingabe);

Die xml-Tags werden benötigt, weil aus den Eingaben des Benutzers und Daten aus einer Datenbank eine xml-Datei erstellt werden soll.

Nachdem die Eingaben des Benutzers vollständig sind, sollten sie dem Benutzer nochmal zur Prüfung angezeigt werden und optimalerweise sogar geändert werden können.

Nun hab ich mir gedacht, dass ich jedes Objekt aus der ArrayList nehme und den String zerlege, damit ich die Daten in dem Formular anzeigen kann.

Ich finde nur keinen Ansatz, wie ich da anfangen könnte. Zu dem hab ich das Problem, die Tags voneinander zu unterscheiden. Hat jemand von euch vllt. eine Alternative oder kann mir nen Tipp geben, wie ich anfange und das anstellen könnte?

Danke für eure Hilfe,

liebe Grüße
Marie
 

Andreas29

Bekanntes Mitglied
Hi Marie,

ich glaube, ich würde nicht die fertig zusammengebauten XML-Strings in die Liste reintun, sondern nur die reinen, vom Benutzer eingegebenen Daten. Dann brauchst du sie zwecks erneuter Ausgabe in der JSP-Seite nicht irgendwie auseinanderbauen. Die XML-Tag-Struktur würde ich dann erst zusammenbauen, wenn alle Daten validiert (sprich vom User bestätigt) wurden und komplett vorliegen. Je nach Umfang kann man dort entweder mit StringBuilder, DOM oder sogar einem OX-Mapper arbeiten. Was man dort genau verwendet, hängt halt davon ab, wie aufwendig / kompliziert dein zu erstellendes XML ist.

Grüße und hoffe, Dir geholfen zu haben,
Andreas
 

Marie Curie

Aktives Mitglied
Hallo Andreas,

doch, das hilft mir wirklich schon ein bisschen! Dein Vorschlag ist mir auch schon mal gekommen, nur mein Problem dabei ist folgendes:

Im Formular gebe ich den Textfeldern natürlich eindeutige Namen, anhand dessen ich die xml-Tags erstelle, das sieht ungefähr so aus:

Formular:
Code:
<input type="text" name="currency">

jsp:
Code:
String currency = "<currency>" + request.getParemeter("currency") + "</currency>";

Mal angenommen, ich würde es so machen wie du sagst (was ganz sicher auch die bessere Lösung ist :) ), wie kann ich dann die Strings in der ArrayList voneinander unterscheiden? Also dass ich sagen kann String1 beinhaltet den Währt für den Tag <currency>.

Danke für deine Hilfe.

Liebe Grüße,
Marie
 

Andreas29

Bekanntes Mitglied
Hi Marie,

wenn du beide Werte brauchst (also den Namen des Textfeldes sowie den Inhalt), würde ich mir dafür eine eigene Klasse anlegen, die diese beiden Werte speichert. Dort kannst du dann auch eine hübsche Methode hinterlegen, die dir den Wert als XML liefert, also irgendwas wie:
Code:
public String getValueAsXml() {
    return "<"+fieldName+">"+value+"</"+fieldName+">";
}
Dann wärst du objektorientiert und hättest einen schönen sauberen Code. Achso, eins noch: An Stelle der hier auch von mir verwendeten Stringverkettung würde ich einen StringBuilder (ab Java 5) oder einen StringBuffer empfehlen. Die arbeiten in solchen Fällen schneller. Falls du Java 5 einsetzt und nicht mit mehreren Threads arbeitest, ist der StringBuilder vorzuziehen, da dieser nicht synchronisiert ist.

Ich hoffe, ich habe dich jetzt nicht mit zu vielen Details zugeschüttet...

Grüße,
Andreas
 

Marie Curie

Aktives Mitglied
Hallo Andreas,

danke für deine Antwort :)

Dazu hab ich aber noch eine Frage. Das Verfahren mit der eigenen Klasse ist mir klar (habe ich bisher bei ResultSets aus Datenbanken verwendet).

Jetzt hab ich während dem Schreiben meine Frage im Kopf selber beantwortet :D ich werd das so mal ausprobieren, ist ne prima Idee, danke!

Ich hoffe du stehst für weitere Fragen trotzdem noch zur Verfügung ;)

Liebe Grüße,
Marie
 

Andreas29

Bekanntes Mitglied
Hi Marie,

klaro tue ich das. Bei Fragen fleißig hier posten. Ich bin da guter Dingen, dass du dann eine vernünftige Antwort bekommst. :)

Liebe Grüße,
Andreas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R [JSF] HTML aus JavaBean generieren Allgemeines EE 8
T HTML-FormularDaten in JavaBean Allgemeines EE 4
H JavaBean lebt nicht lang genug Allgemeines EE 10
G Ein JavaBean-Object nur einmal instanzieren. Allgemeines EE 3
H JSP Zugriff auf JavaBean Allgemeines EE 4
E Servlet/JSP/JavaBean- Problem Allgemeines EE 1
P Problem mit JavaBean Allgemeines EE 9
A Anfängerfrage:String in float umwandeln Allgemeines EE 2
J Encoder für Java String in html format Allgemeines EE 6
B Expressionlanguage String Vergleich Allgemeines EE 7
N GWT - RPC String-Array in einer List Allgemeines EE 2
G in JSF einen String ausgeben Allgemeines EE 5
G [EJB 3.0] Primary Key String hochzählen Allgemeines EE 3
U Matching quoted string with regexp Allgemeines EE 11
S String escpapen für JavaScript, Datenbank, HTML Allgemeines EE 2
P String in ein Textfeld einer externen Seite uebergeben ! Allgemeines EE 2
P String als Uebergabe an SQL Statement Allgemeines EE 3
G "HTML-Umlaute" in lesbaren String umwandeln Allgemeines EE 10
P String-Array an session Variable übergeben Allgemeines EE 3
R Wie ermittle ich Zeichenanzahl in einem gemischten String? Allgemeines EE 2
L Größen Beschränkung bei download oder String? Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben