# Dynamische Formulare aus xml Dateien erstellen...



## quadro (4. Dez 2007)

So ich hab mal wieder ne Frage, hüpfe von Baustelle zu Baustell...! 

Hat jemand von euch Erfahrungen im erzeugen von dynamischen  Fromularen aus xml Dateien? Hatte die Idee, um den Code schlank zu halten, eventuell die Elemte "auszulagern". 

Das bedeutet ich habe eine jsp und möchte, das diese ein Formular darstellt, z.B. eine Anmeldeformular wo man Name, Adresse etc. eingeben kann... Um zu verhindern, das man da 1.000 Tags reinknallt, dachte ich das man in der jsp eine Schleife hat, in der man die Elemente 
	
	
	
	





```
( <h:outputText>, <h:inputText> ... )
```
 dynamisch aus einer xml Datei erzeugt. Natürlich müssen an diese Elemente, die BackinBeans "angedockt" werden um deren Funktionalität noch zu gewährleisten... 

So meine Frage! Ist das möglich? Kann mich jemand auf den richtigen Weg schicken, das wäre super... Ich würde dadurch jede Menge Code in den jsp's sparen, was das für die nicht Programmierer leichtermachen würde, das alles selber anzupassen...


ThX!

*****


----------



## Ralf Ueberfuhr (4. Dez 2007)

Hmm, du kannst sicher einen Weg finden, Formulare mit XML-Syntax zu beschreiben. Klingt in der Umwandlung aber eher nach XSLT als nach JSP.
Letztendlich wirst du aber mehr Aufwand damit haben als mit dem Erstellen der JSPs. Wenn es so viel besser wäre, gäb es ja auch ein Framework.


----------



## quadro (5. Dez 2007)

Ok, ist aber dann nicht schlimm, wenn die jsp's elendig lang werden, wenn die Formulare viele Felder etc. enthalten?  Finde das irgendwie unschick ne Datei zu haben mit 1000 Zeilen Code drinne, darum ging es mir. Es soll ja noch wartebar bleiben, auch für Leute, die keinen Plan haben... Ich schau mal nach XSLT was Du meintest... 

Vielen Dank schon mal...!

Offen für mehr Infos 

*****


----------



## ms (5. Dez 2007)

quadro hat gesagt.:
			
		

> Ok, ist aber dann nicht schlimm, wenn die jsp's elendig lang werden, wenn die Formulare viele Felder etc. enthalten?  Finde das irgendwie unschick ne Datei zu haben mit 1000 Zeilen Code drinne, darum ging es mir. Es soll ja noch wartebar bleiben, auch für Leute, die keinen Plan haben... Ich schau mal nach XSLT was Du meintest...


Es ist dir natürlich erlaubt Schleifen zu verwenden!
Und wenn wir von Code sprechen, dann meinst du hoffentlich Tags!?

ms


----------



## SnooP (5. Dez 2007)

Das sieht so nach Stammdatenpflege aus... - wenn es dir nur darum geht mehrere Zeilen mit verschiedenen Input-Tags vollzumüllen, dann solltest du dir mal JSTL anschauen - da gibts auch Schleifen 

ansonsten kann man natürlich via xml-dateien seine Masken beschreiben und das entsprechend CI-gemäß generieren lassen... sowas ist aber natürlich mit entsprechendem Programmieraufwand verbunden.
Bei uns gab es nen sehr genialen Ansatz via Annotations bereits die Modell-Entitäten zu markieren für die GUI, d.h. die GUI hat sich aus dem Modell herausgeneriert... in dem Fall konnte man so rund 60% aller Masken automatisch generieren lassen.


----------



## quadro (5. Dez 2007)

Tags - Code...   

Also mir geht es darum:

Es soll eine Art Fragebogen erstellt werden. Dieser Fragebogen beihaltet ein tabbed pane welches aus den RichFaces stammt. Es gibt ca. 6 tabs mit jeweils 20-30 Eingabefeldern pro tab. Also ein minimum von 120 Eingabefeldern sowie "Labels"die diese Felder beschreiben. 

Das Problem ist, kann das alles in eine Datei reinschreiben, wird aber durch die tabs etc. dann ziemlig lang, für mich zu durchschauen, aber für andere Leute, die eventuell die Sachen anpassen wollen, schwer zu lesen. 

Hinter dem Allen steht eine DB, wo eigentlich mein Ziel war, aufgrund der XML-Fragebögen die Datenbank anzulegen.  Idee war es, das man dann die "Create" Scripte anhand der Applikation anpassen kann, also wenn es neue Fragen gibt, diese dann mit in die Skripte aufzunehmen. Wie genau ich das mache ist noch nicht ganz klar, das war aber meine Idee, die Anwendung so generisch zu halten wie es geht. Es soll ohne Programmierkenntnisse möglich sein, die Anwendung zu ändern und anderen Gegebenheiten anzupassen.

Achso, nutze verschiedene controller und models, um jeweils die logischen Teile noch zu trennen. Beispiel, ein Controller kümmert sich nur um die Anmeldedaten und das Model dann dementsprechend um den Umgang mit diesen Daten...

Das das alles mit nem Programmieraufwand verbunden ist, ist mir klar. 

Darum gehts ja auch hier...!

Danke für Anregungen!


*****


----------



## Ralf Ueberfuhr (5. Dez 2007)

Du musst auch nicht alles in eine JSP schreiben, sondern kannst die JSP auch in mehrere Fragmente aufteilen, z.B. pro Tab eines.


----------



## quadro (6. Dez 2007)

Kannst Du mir nen Tip geben, wie ich das dann alles wieder zusammgebaut bekomme? Ich müsste ja dann in eine jsp, den  Code einer anderen reinladen, wenn ich Dich richtig verstehe. Kannst Du mir nen Beispile geben oder zumindest wonach ich schauen muss? Das wäre hilfreich.

THX!

*****


----------



## Ralf Ueberfuhr (6. Dez 2007)

Stichwort: Include-Direktive für textuelles Zusammenführen oder
<jsp:include> und <c:import> zum Inkludieren der erzeugten (HTML-)Fragmente.


----------

