# kein Absatz mittels request.getParameter()??



## 7bkahnt (25. Jul 2011)

Hi Leute,

ich habe evtl. eine recht simple Frage.
Ich möchte gern von einer Struts-Textarea den Absatz mit in die DB speichern. 
Bsp. ich gebe in einer Textarea folgendes ein:
"Test 1
 Test 2
"
Nun sende ich den Inhalt der Textarea an eine jsp, wo die entsprechende Methode zur Speicherung aufgerufen wird. Doch schon hier tritt mittels folgendem Code der Fehler auf.

```
System.out.println("text_betreff1: "+request.getParameter("text_betreff1"));
```

Es wird der Absatz entfernt und das Ergebnis ist "Test1Test2".
Ich möchte aber die Daten inklusive Absatz in die DB schreiben. Habt Ihr da eine Lösung?

Grüsse


----------



## nocturne (26. Jul 2011)

Es gibt verschiedene Methoden den Parameter abzusenden, du solltest Enctype und die Post-Methode verwenden:

ie: <form method="post"  enctype="application/x-www-form-urlencoded">


----------



## 7bkahnt (26. Jul 2011)

Ah okay, danke! 
Hab es jetzt mal ausprobiert mittels

```
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
```
Funktioniert leider nicht. Es wird immernoch der Absatz entfernt.
Also ich sende den Inhalt des Textfeldes mittels Ajax an eine jsp. Diese ruft dann einfach nur die Speichern-Methode in Java auf. Bei der jsp kommt aber mittels getParamater() schon nur der Inhalt des Textfeldes ohne Absatz an...

Ich versende mehrere Parameter gleichzeitig:

```
var getUrl="?ansprechpartner="+ansprechpartner+"&text_email="+text_email+"&telefon="+telefon+"&telefax="+telefax
						+"&dat_adr="+dat_adr+"&dat_eingang="+dat_eingang+"&dat_rb="+dat_rb+"&aktenzeichen="+aktenzeichen
						+"&text_betreff_typ="+text_betreff_typ+"&regionalbereich="+regionalbereich+"&adrname="
						+adrname+"&adrstrasse="+adrstrasse+"&adrnummer="+adrnummer+"&adrnummerzusatz="+adrnummerzusatz+"&adrplz="+adrplz+"&adrort="+adrort
						+"&adrpf_plz="+adrpf_plz+"&adrpf_nummer="+adrpf_nummer+"&text_betreff1="+text_betreff1+"&text_betreff2="+text_betreff2+"&text_information="+text_information+"&eingang_ausgang="+eingang_ausgang;
alert(getUrl);
```

Das alert zum Schluss gibt mir aber den Absatz wieder bei Betreff. Also scheiterts irgendwie bei der Auswertung mittels request.getParameter() in der jsp.
Grüsse


----------



## nillehammer (26. Jul 2011)

Hallo,

nach Deinem letzten Beispiel sieht es so aus, als würdest Du bei Deinem Formular als method ein "get" haben. Das funktioniert aber nicht. Wie nocturne schon geschrieben hat, musst Du als Formular-method "post" benutzen.

Gruß nillehammer


----------



## 7bkahnt (26. Jul 2011)

Nein ich verwende bereits post.


----------



## nocturne (27. Jul 2011)

Aha!



Mit AJAX sieht das natürlich anders aus. Mit deinem AJAX geht zwar Post als Methode aber es sind keine Post-Daten möglich (Bitte verwende Prototype-JS oder JQuery)!!!

Du verwendest zwar zur übertragung die Post-Methode, 
übergibst den Wert aber als Get-Parameter. So bleibt der Post-Daten-Bereich leer.

Als "Workaround" könntest du alle Zeilenumbrüche mit µ ersetzen und in Java die µ mit Zeilenumbrüchen ersetzen.


----------



## Gelöschtes Mitglied 5909 (28. Jul 2011)

dass muss in den request-body


----------



## 7bkahnt (1. Aug 2011)

So sieht es derzeit aus:

```
// Request öffnen
						request.open('post',url + getUrl, true);
						//RequestHeader für codieren der Daten
						request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
						// Request senden
						request.send(null);
						// Request auswerten
						request.onreadystatechange = function(){..}
```
Im getUrl-String stehen die Parameter die ich mitgeben möchte.
Wenn ich das jetzt richtig verstanden habe muss der getUrl-String in die request.send() Methode?
Was muss dann in request.open() rein?


----------



## nocturne (1. Aug 2011)

Nimm doch prototype-js.


----------

