# BMI mit JSP berechnen



## starbug (22. Juli 2011)

Hallo allerseits,

habe eine Aufgabe bekommen ein Formular mittels JSP, Java Beans, zu erstellen. Habe den Code und das Formular erscheint auch jedoch bekommen ich immer eine Fehlermeldung. Habe hier mal den JSP und Java Code:


```
<html>
<head>
<title>BMI berechnen</title>
</head>
<body>
<h3> Berechnen Sie Ihren Body Mass Index (BMI) </h3>
<form action = "bmi.jsp" method = "post">
  <div>
    <label for="name">Ihr Name</label>
    <input id=name" name="name" type="text" size="30" /> <br/>
    <label for="weight">Gewicht</label>
    <input id="weight" name="weight" type="text" size="10" />
    [kg]<br />
    <label for="height">Größe</label>
    <input id="height" name="height" type="text" size="10" /> 
    [m]<br />
    <input name="berechne" type="submit" value="BMI berechnen"/>
  </div>
</form>
<p>
  <a href="bmi_liste.jsp">Liste der BMI-Werte anzeigen</a>
</p>
</body>
</html>
```



```
<%@page import="javax.validation.constraints.Null"%>
<html>
<head>
  <title>BMI mit JavaBean berechnen</title>
</head>
<body>

<jsp:useBean id="einBmi" class="Bmi" scope="page"/>
<jsp:useBean id="alleBmiWerte" class="java.util.Vector" scope="session" />

<%
boolean conversion_ok = true;
try
{
%>
  <jsp:setProperty name="einBmi" property="*" />
<% 
}
catch (Exception e)
{  conversion_ok = false; }
%>

<%
if (conversion_ok)
{
  //Prüfung auf sinnvolle Eingaben
  if (einBmi.validInput())
  {
     float your_bmi = einBmi.calculateBmi();
%>
     <p>Hallo <jsp:getProperty name="einBmi" property="name" />
     Ihr Gewicht von
     <jsp:getProperty name="einBmi" property="weight" />
     kg und Ihre Größe von
     <jsp:getProperty name="einBmi" property="height" />
     m ergeben einen
     Body Mass Index (BMI) von <%= your_bmi %> </p>
     <p>Ideal ist ein BMI zwischen 20 und 24</p>
<%   alleBmiWerte.addElement(einBmi);
  }
  else
    out.println("<p>Name ist ein Pflichtfeld, Gewicht und Größe müssen Zahlen größer Null sein</p>");
  }
else
{ 
%> <p>Sie müssen für Gewicht und Größe ganze Zahlen oder 
   Gleitpunktzahlen eintragen, damit der BMI berechnet 
   werden kann</p>
<%
}
%>
<p><a href="index.jsp">Zurück zum Formular</a></p>
</body>
</html>
```



```
<html>
<head>
  <title>BMI-Liste</title>
</head>
<body>
  <h3>Alle BMI-Werte ausgeben</h3>
  <jsp:useBean id="einBmi" scope="page" class="Bmi"/>
  <jsp:useBean id="alleBmiWerte" class="java.util.Vector" 
               scope="session" />

<%
for (int i=0;  i < alleBmiWerte.size(); i++)
{
  einBmi = (Bmi) alleBmiWerte.elementAt(i);
  out.print ("Name: " + einBmi.getName() + " --> " + "BMI: " 
             + einBmi.calculateBmi()+ "<br/>");
}
%>
<p><a href="index.jsp">Zurück zum Formular</a></p>

</body>
</html>
```



```
public class Bmi
{
  private String name;
  private float weight;
  private float height;

   public Bmi()
    {}

    //Property name
    public String getName()
    { return name;
    }
    public void setName(String name)
    { this.name = name;
    }

   //Property weight
    public float getWeight()
    { return weight;
    }
    public void setWeight(float weight)
    {  this.weight = weight;
    }

    //Property height
    public float getHeight()
    { return height;
    }
    public void setHeight(float height)
    {  this.height = height;
    }

    public boolean validInput()
    {
       if (name != null && !name.equals("") && weight > 0 && height > 0)
         return true;
       else
         return false;
    }

    public float calculateBmi()
    {
          float  result;
          result = weight / (height * height);
          return result;
    }
}
```

Kann auch alles kompilieren aber bekomme dann folgende Fehlermeldung:


PWC6197: An error occurred at line: 9 in the jsp file: /bmi.jsp
PWC6199: Generated servlet error:
string:///bmi_jsp.java:54: cannot find symbol
symbol  : class Bmi
location: class org.apache.jsp.bmi_jsp

Ich weiss leider nicht was das bedeutet und kann in Reihe 9 bei bmi.jsp auch nichts erkennen.
Kann mir jemand weiterhelfen?


----------



## HonniCilest (22. Juli 2011)

Welche der oben aufgeführten Dateien ist welche?

Aber was mir auf Anhieb auffällt...
In deiner Fehlermeldung tritt der Name "bmi_jsp.java" auf. Soll das die gepostete Java-Klasse sein (ganz unten in deinem Post)? Wenn ja, dann schau mal auf den Klassennamen und den Dateinamen...


----------



## starbug (23. Juli 2011)

Danke hab jetzt die Java Datei mal in ein eigenes Package gepackt und siehe da, es geht


----------

