XML Datei mit Formular eingaben Füllen JSP

h00b

Mitglied
Hallo,

ich bin relativ neu in der Materie und habe eine kurze Frage.

Ich habe ein Formular bei dem Nutzer Texteingaben tätigen können.
Wenn die Eingabe getätigt wird soll automatisch in ein XML-File geschrieben werden.
Den Code um eine XML-Datei zu erzeugen habe ich mit DOM gemacht.

Ein Beispielelement:

Element Autor = doc.createElement("Autor");
Autor.appendChild(doc.createTextNode (""Autor");
rootElement.appendChild(Autor);

Das Element Autor ist hier also mit dem Text Autor gefüllt.

Jetzt zu meiner Frage:

Wie kann ich das XML Element mit den Eingaben die in das Formular getätigt werden füllen (mit JSP).

Ich weiss, dass ich mit <%= request.getParameter("Autor") %> den Wert aus dem Formular hole. Mein Problem ist also wie bekomme ich den entsprechende Wert in die XML-File. Den Javacode habe ich über ein Serverlet eingebunden.

Ich hoffe auf Hilfe, ich denke die Lösung ist nicht unbedingt ein riesenproblem aber für mich gerade schon ;)

Viele Grüße
Nico
 

Fant

Bekanntes Mitglied
Deine JSP sollte nur für die Darstellung verantwortlich sein. Soll heißen du schreibst deine Formulardaten entweder in eine Bean und verarbeitest sie dann weiter, oder du schickst sie an ein Servlet, welches sich darum kümmert diese Daten in deine XML zu schreiben.

Gruß Fant
 

h00b

Mitglied
Hallo Fant,

ja du hast natürlich recht aber da ich das alles zum ersten mal mache hab ich es erstmal mittels <% ... %> eingefügt, weil ich es nicht besser wusste. Jetzt den JavaCode aber in einem Servlet um wenigstens ein bisschen "guten Stil" zu nutzen ;)

Danke nochmal an euch beide!

Grüße
Nico
 

h00b

Mitglied
Hallo,

ich habe mal wieder eine kurze frage.

Ich möchte gerne alle Elemente in meinem Dokument adressieren die Name heissen und entsprechend ihren Inhalt ausgeben.

das habe ich bis jetzt dies gibt mir jedoch nur den Inhalt des Root Elements.
Java:
Element node = doc.getDocumentElement();
            String Name = node.getNodeValue();
            System.out.println(Name);

Was ich jedoch möchte is bestimmte "kindeskindes" Elemente, des Root Elements, nämlich die <Name>-Elemente bzw. deren Inhalt.

Wäre Super wenn mir jemand helfen könnte ich finde einfach nicht die richtige Methode.

Grüße Nico
 

h00b

Mitglied
Hey Fant,

vielen Dank die hab ich gesucht. Jetzt weiss ich auch wo ich zu suchen habe ;)

Habe das ganze mal eingebaut und bekomme leider immer null zurück eine Idee wieso? BIn eigentlich der Meinung das sollte so gehn:

Java:
File file = new File ("D:\\CIs.xml");
            
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder;
            docBuilder = docFactory.newDocumentBuilder();
            Document doc;
            doc = docBuilder.parse(file);
            
            NodeList nodelist = doc.getElementsByTagName("Name");
            
            for (int i = 0; i < nodelist.getLength(); i++){
            
                System.out.println("WAS DA LOS DU : " + nodelist.item(i).getNodeValue());
            }


Vielleicht siehst du ja den fehler...

/EDIT:
Hat sich erledigt mit getfirstCHild() geht er ins richtige...


Grüße
 
Zuletzt bearbeitet:

h00b

Mitglied
Hallo,

ich mal wieder ;)

Ich stehe vor der nächsten Herausfoderung die ich wohl ohne Hilfe nicht bewältigen kann.

Ich habe ein nun ein Servlet, dass mir Inhalte bestimmter XML-Elemente zurück gibt.

Jetzt möchte ich diese an eine JSP übergeben. und entpsrechend in eine Tabelle schreiben.
Das mit der Tabelle sollte nun mal kein Problem sein. Aber wie bekomme ich die Inhalte an das JSP übergeben?

Ich stelle mir das momentan so vor, dass ich das nodelist Objekt übergebe und die for-schleife eben in das jsp einbaue (Auch wenns mit Sicherheit mal wieder schlechtester Stil ist.)

Ich dachte eigentlich so könnte es funktionieren:
Servlet:
Java:
try {
            
            File file = new File ("D:\\CIs.xml");
            
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder;
            docBuilder = docFactory.newDocumentBuilder();
            Document doc;
            doc = docBuilder.parse(file);
            
            NodeList nodelist = doc.getElementsByTagName("Name");
            
            for (int i = 0; i < nodelist.getLength(); i++){
                
            System.out.println("WAS DA LOS DU : " + nodelist.item(i).getFirstChild().getNodeValue());
            }
            request.setAttribute ("nodelist", nodelist);
            RequestDispatcher view = getServletContext().getRequestDispatcher("/index.jsp");
            view.forward(request,response);

jsp:
Java:
table border="0" cellpadding="15" cellspacing="0" bgcolor="#E0E0E0">
            <tr>
                <th align="right">Configuration Items </th>
                <td><a href="CIgen.jsp"> <%request.getAttribute("nodelist");%> </a></td> 
            </tr>
        </table>



Wäre super wenn mir jemand helfen könnte

Grüße
Nico
 
Zuletzt bearbeitet:

h00b

Mitglied
Hallo,

also ich habe es jetzt anders gemacht und zwar mittels scriptlet.

DAs ganze sieht so aus und sollte denke ich entsprechend funktionieren es wird allerdings 2 fehler:
Java:
 <% 
        try {
            
            File file = new File ("D:\\CIs.xml");
            
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder;
            docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(file);
            NodeList nodelist = doc.getElementsByTagName("Name");
               %>
        <table border="0" cellpadding="15" cellspacing="0" bgcolor="#E0E0E0">
            <% for (int i = 0; i < nodelist.getLength(); i++) {%>
            <tr>
                <th align="right">Configuration Items </th>
                <td><a href="CIgen.jsp"> <%= nodelist.item(i).getFirstChild().getNodeValue()%> </a></td> 
            </tr>
            <% }%>
        </table>
    <% }catch (ParserConfigurationException pce) {
	  } catch (SAXException e) {    
          } catch (IOException e) {
    }%>

hier sagt er mir dass er den Typ nicht kennt und javax.swing.text.Document erforderlich ist, was aber oben importiert ist!:
Java:
Document doc = docBuilder.parse(file);

hier wirdt er "cannot find symbol methode symbol:getElementsByTagname(java.lang.String) location: variable doc of type javax.swing.text.Document:
Java:
 NodeList nodelist = doc.getElementsByTagName("Name");

Das beschäftigt mich jetzt schon seit heute mittag und mit meinen schwachen Kenntnissen steh ich grad am ende ;)

Bitte helft mir ;)

Grüße
Nico
Java:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Spring FileNotFoundException obwohl Datei da ist Web Tier 5
D jar datei Web Tier 12
S JSF Eine XHTML-Datei in zwei andere XHTML integrieren Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
S xhtml Datei & Webspace Web Tier 8
R JSF Bilder aus CSS Datei werden nicht angezeigt. Web Tier 2
M log4j2 - RollingFile Datei bleibt leer Web Tier 1
V Name und Pfad der Datei in JSF Web Tier 0
K Internationalisierung über Properties Datei Web Tier 6
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
H Relativer Pfad für XML-Datei in JSP-Anwendung Web Tier 3
Rudolf Servlet Zur Laufzeit generierte Datei zum Herunterladen anbieten Web Tier 2
S JSP Erzeugten JSP HTML-Quelltext in html-Datei speichern Web Tier 4
H Servet Datei schreiben Web Tier 6
G Deploy und undeploy - wie kann meine WAR Datei das mitbekommen? Web Tier 2
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
C JSP Datensatz mit JSP aus XML-Datei löschen Web Tier 6
A Wie in JSP lokale Datei verarbeiten? Web Tier 8
N Problem mit Datei Streaming Web Tier 2
J JSP - Datei einlesen Web Tier 15
S Lesender Zugriff auf Datei im Webprojekt Web Tier 2
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
L Unter JSP eine XML Datei erstellen Web Tier 3
J Doppeltes und-Zeichen in JSF Datei Web Tier 4
I Export in eine CSV - Datei und PDF Web Tier 5
G Externe Bibliotheken in war-Datei angeben Web Tier 8
F Log4J Konfiguration in .war Datei Web Tier 4
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
M Datei öffnen aus JSF-Anwendung Web Tier 3
O relativer Pfad zu properties Datei Web Tier 8
M JSF: Parameterübergabe an Properties-Datei aus JSF-Tag heraus? Web Tier 4
F IE stellt tif-Datei kryptisch dar Web Tier 3
F Datei von bean aus laden Web Tier 3
G Tomcat findet angeblich die Datei nicht. Web Tier 8
M Generierte Datei an Browser senden Web Tier 8
R Datei aus Servlet öffnen Web Tier 18
F [servelt] datei lesen? Web Tier 5
F Formular nach erfolgreichem Login ausblenden Web Tier 0
F Formular ausblenden lassen Web Tier 0
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
E Kann man ein Formular in JSP auch per Tastendruck ohne Javascript-Verwendung abschicken? Web Tier 2
S Dynamisch Drop-Down Menüs und Formular Feld Bindings Web Tier 4
T JSF Formular in Accordion Panel Web Tier 11
D Servlet JSP Umfrage ohne Formular Web Tier 2
B direkte Formular-Korrektur Web Tier 7
I JSF Daten aus Formular werden nicht übernommen Web Tier 6
G Formular ausfüllen Web Tier 55
D Formular als Applet oder HTML Web Tier 6
S Formular Generator Web Tier 4
M Formular Überprüfung Web Tier 4
L Umlaute von Formular mit request holen Web Tier 16
P request.getParameter("name") von Formular auf JSP-Seite leer Web Tier 5
P JSF-Formular mit DataTabel Web Tier 8
P Formular-Daten-Überprüfung - Eingaben im Fehlerfall behalten Web Tier 2
M Falsche URL-Eingaben abfangen Web Tier 3

Ähnliche Java Themen

Neue Themen


Oben