# "null" durch NICHTS ersetzen jsp und java beans



## valuschka (6. Jan 2010)

Hallo,
hab folgendes Problemm: ich muss ein formular mit kundennummer und passwort erstellen... klingt ja nicht weiter schwer, bin auch ziemlich weit, das einzige was ich nicht hinkriege ist es, die "null" in NICHTS umzuwandeln...
ich erleutere: wenn der Formular noch nicht ausgefühlt ist, dann steht beim Ausführen im Eingabefeld  "null" anstatt dass das leer ist...  
kann man dies beheben???
hat jemand ´ne idee?

hier meine bean:

```
package beans;

import java.util.List;
import java.util.LinkedList;

/** Speichert und Validiert die Daten eines HTML - Formulars */
public class FormBean {

   /** Die Kundenummer */
   private String kundennummer;
   public String getKundennummer() {
      return kundennummer;
   }

   public void setKundennummer(String aKundennummer) {
      kundennummer = aKundennummer;
   }

   /** Das Passwort */
   private String passwort;
   public String Passwort() {
      return passwort;
   }

   public void setPasswort(String aPasswort) {
       
      passwort = aPasswort;
   }

   /** Moeglicherweise aufgetretene Eingabe-Fehler */
   private List errors = new LinkedList();
   public List getErrors() {
      return errors;
   }

   /** Flag ob alle Angaben korrekt sind */
   boolean valid = false;
   public boolean isValid() {
      return valid;
   }

   /** Validiert die Eingaben */
   public boolean validate() {

      // Zuruecksetzen des Flags und der Fehlerliste
      valid = false;
      errors = new LinkedList();

      // ueberpruefe den eingegebenen Namen
      if (kundennummer == null || kundennummer.length() == 0  ) {
         errors.add("Bitte geben Sie Ihr Kundennummer ein.");
      }

      // ueberpruefe die Syntax des passwortes
      if (passwort == null || passwort.length() == 0) {
         errors.add("Bitte geben Sie Ihr Passwort ein.");
      }

     
      // Wenn keine Fehler aufgetreten sind => valid = true
      if (errors.size() == 0) {
         valid = true;
      }

      return valid;
   }
}
```

und die dazugehörige jsp:


```
<%-- Importieren der Java-Klasse 'Iterator' zur Fehler-Ausgabe --%>
<%@ page import="java.util.Iterator" %>

<%-- Binden der JavaBean an den symbolischen Name 'form' --%>
<jsp:useBean id="form"
             class="beans.FormBean"
             scope="session"/>

<%-- Übernehmen der HTTP-Parameter in die JavaBean --%>
<jsp:setProperty name="form"
                 property="kundennummer"
                 value="<%= request.getParameter("kundennummer") %>"/>

    <jsp:setProperty name="form"
                     property="passwort"
                     value="<%= request.getParameter("passwort") %>"/>

        <%-- Aufruf der Geschäftslogik, ggf. Weiterleiten zur Ausgabe --%>
        <%
            form.validate();
            if (form.isValid()) {
                // Weiterleiten des Request an die Ausgabeseite
                response.sendRedirect("loginBestaetigung.jsp");
            }
        %>

        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <link href="CSS/style_shop&login.css" rel="stylesheet" type="text/css" media="screen" />
                <title>Fashion Deluxe - Login</title>
            </head>
            <body id="shop">

                <div id="wrapper">

                    <div id="kopfbereich">
                        <h1><img src="Images/logo.jpg" alt="Fashion-Deluxe" width="" height="" id="logo" /></h1>


                    </div> <!-- Ende kopfbereich -->

                    <div id="navibereich">
                        <%-- Kodieren des URLs --%>
                        <form action='<%= response.encodeURL("login.jsp")%>'id="login" name="login" >

                            <h2>Anmeldung für registrierte Kunden</h2>
                            <%-- ggf. Ausgabe von aufgetretenen Fehlern --%>
                            <% if (!form.isValid()) {%>
                            <ul>
                                <%
                                Iterator i = form.getErrors().iterator();
                                while (i.hasNext()) {
                                %>
                                <li id="anweisung"> <%= i.next()%> </li>
                                <% }%>
                                <% }%>

                            </ul>


                                <div>
                                <label id="kundennummer" for="kundennummer">Kundennummer:</label>
                                <input type="text" id="kundennummer" name="kundennummer" value='<jsp:getProperty name="form" property="kundennummer"/>'/>
                            </div>
                            <div>
                                <label id="passwort" for="passwort">Passwort:</label>
                                <input type="text" id="passwort" name="passwort" />

                            </div>            



                            <input id ="submit" type="submit" value="       Login       " />

                        </form>
                    </div> <!-- Ende navibereich -->

                </div> <!-- Ende wrapper -->

            </body>
        </html>
```


----------



## HLX (6. Jan 2010)

Einfach die Variable leer initialisieren:

```
/** Die Kundenummer */
private String kundennummer = "";
```


----------



## valuschka (9. Jan 2010)

hat leider nicht funktioniert, aber danke für die antwort.


----------



## fastjack (10. Jan 2010)

Das liegt an request.getParameter(). Ist der Parameter noch nicht im Request etc. so gibt die Funktion null zurück. Da hilft eine Hilfs-Methode, die statt null einfach einen leeren String zurückgibt.


----------

