# JSP BEAN Speichern von einer Zahl nach eingabe



## Vorby (21. Aug 2008)

Hallo ihr lieben!

Also ich versuche was ganz einfaches - und das geht komischweise nicht oder ich bin grade Betriebsblind?!
Der Versuch soll nur folgendes leisten.
Auf einer "index.jsp" werden 2 koordinaten (x y) eingegeben. Diese werden in einem HttpServlet ausgewertet und in einer Bean (koordienanten.java) gespeichert. Nun eine weitere JSP (auswertung.jsp) die die Eingegebene Koordinaten einfach wieder ausgibt (getMethode)
ABER es kommt immer nix - ob ich 50,40 eingebe - es kommt 0,0 raus.
Es soll nix berechnet werden o.ä. - eigentlich ganz einfach gelle?

hier mal der Code:Index.jsp

```
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testpage</title>
</head>
<body>
<form name="Eingabe" action="/koord/auswerten" method="post">
<input type="text" name="xkoord" value="0" />
<input type="text" name="ykoord" value="0" />
<input type="submit" value="submit" />


</form>
</body>

</html>
```

auswerten.java

```
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
rd.include(request, response);
String xs = request.getParameter("xkoord");
String ys = request.getParameter("ykoord");
float x = Float.parseFloat(xs);
float y = Float.parseFloat(ys);
Koordinaten kk = new Koordinaten();
kk.setXkoord(x);
kk.setYkoord(y);
rd = request.getRequestDispatcher("/anzeigen.jsp");
rd.forward(request, response);

out.close();
}
```

Bean Koordinaten.java

```
public class Koordinaten {

private float xkoord;
private float ykoord;

public Koordinaten() {

}

public void setXkoord(float x){
this.xkoord = x;
}

public void setYkoord(float y){
this.ykoord = y;
}

public float getXkoord(){
return xkoord;
}

public float getYkoord(){
return ykoord;
}

}
```

Anzeigen.jsp (auszug)

```
<jsp:useBean id="kk" scope="session" class"p.test" />

<%=kk.getXkoord()%>
```

Es ist sicher ne Kleinigkeit - nur ich seh es nicht... mist ...
bitte um eure Hilfe

Danke schonmal


----------



## HLX (21. Aug 2008)

In deinem Beispiel wird in der Ergebnisseite eine neue Bean-Instanz erzeugt. Falls die Bean aus dem Servlet verwendet werden soll, musst du sie der Session (oder dem Request) bekannt machen. Die Attributbezeichnung muss der id in der JSP-Seite entsprechen.:

auswerten.java

```
...
Koordinaten kk = new Koordinaten(); 
kk.setXkoord(x); 
kk.setYkoord(y); 
request.getSession().setAttribute("kk",kk);
```

In der Anzeigen.jsp kannst du für das Auslesen des Wertes auch ein JSP-Tag verwenden:

```
<jsp:useBean id="kk" scope="session"/> 
<jsp:getProperty name="kk" property="xkoord"/>
```


----------



## Vorby (21. Aug 2008)

Zauberhaft!

Sehr herzlichen Danke!

Hätte man ja auch selber drauf kommen müssen... aber manchmal ist es doch gut, dass andere nette Leute einen ein Stoss geben 

Gruß


----------

