# Bean-Objekte aus XML erstellen



## hasenbrot (15. Mai 2012)

Angenommen man möchte aus beliebig vielen Datensätzen, die mehreren, zur Laufzeit unabänderlichen XML-Dateien zu finden sind, Bean-Objekte erzeugen. Auf die Attribute der Bean-Objekte soll anschließend von einer JSP aus zugegriffen werden.

Ist es besser, das XML in diesem Fall im Browser oder auf dem Server zu parsen? Sollen die Beans für jede Anfrage nach Bedarf erstellt werden oder bereits beim Start der Anwendung?


----------



## Noctarius (16. Mai 2012)

Da gibt es mehrere Varianten: XStream, XMLBeans, JAXB, ...

Einfach mal nach "Java Xml Beans" googeln.

Zu der Frage: Wie willst du denn aus dem JSP auf Daten zugreifen, die erst der Browser parsen soll? Und ob bei jeder Anfrage oder ein mal beim Starten liegt wohl an den Daten. Unveränderliche Daten wäre sicherlich sinnvoller vorzuhalten als Daten die sich immer ändern können.


----------



## hasenbrot (16. Mai 2012)

Im Prinzip geht es darum, eine dynamische Anwendung zu erstellen, die die Daten statt aus einer Datenbank aus einer oder mehreren XML-Dateien holt. Ich bin mir allerdings nicht sicher, ob das Parsing auf dem Server oder Client geschehen sollte. 

Falls man sie auf dem Client parsen würde, so würden sie erst auf Anfrage hin geparst werden, allerdings erscheint es mir sinnlos, diese clientseitig geparsten Daten dann wiederum auf dem Server in Beans zu speichern und anschließend wieder mit dem useBean-Tag auszulesen. Stattdessen könnte man gleich die XML-Daten mit einem XSL-Stylesheet in eine HTML-Datei verwandeln. 
Das serverseitige Parsing könnte dagegen gleich beim Start der Anwendung stattfinden, denn die XML-Daten sind statisch und verändern sich nicht während der Laufzeit. Aus den Datensätzen könnte man dann Bean-Objekte erzeugen, die dann auf Anfrage ausgelesen werden. Habe ich die Zusammenhänge bis hierher richtig verstanden?

Wenn ich also auf einen Link bzw. Button klicke, um einen Datensatz anzufordern, dann muss die Anfrage ja eine Variable absenden, die mit einem bestimmten XML-Datensatz verknüpft wird. Spontan würde ich hier an request.setAttribute() denken, aber ich weiß nicht, ob das die beste Lösung wäre.


----------

