2016-04-29 3 views
0

Ich habe eine Seite in JSP, die ein Textfeld und Absenden-Taste hat. Wenn ich Wert in Textfeld eingeben und auf Senden klicken, leitet es mich auf neue Seite um. Aber Problem ist, ich möchte überprüfen, dass Textbox keine Leerzeichen am Anfang und Ende von Wert im Textfeld eingegeben haben sollte. Unten finden Sie den Code ein, den ichWenn gefunden Leerzeichen am Anfang oder Ende des Textfelds füllen Warnmeldung in JSP

<% 
String Hostname=user2.getHost(); 
String Wrong=" "+Hostname+" "; 
if (Hostname != null) 
{ 
if (Hostname == " "+Hostname+" ") 
     { 
     %> 
     <div class="alert-box" > <span>Warning: </span>Not a valid hostname !! <% out.println("Hostname ='"+Hostname+"'"); %></div> 
     <% 

     } 
else 
{ 
pageContext.forward("InstanceList.jsp"); 
} 


} 
else 
    { 
     pageContext.include("NoHost.jsp"); 
    } 
%> 

versuche ich versuche unter if-Anweisung. Wenn Hostnamen mit Leerzeichen am Anfang gefunden oder am Ende sollte es Warnmeldung geben, aber jedes Mal, es ist in erstem sonst und läuft InstanceList.jsp gehen

if (Hostname == " "+Hostname+" ") 

während erste Überprüfung des Hostnamen null ordnungsgemäß funktioniert.

Bitte helfen, wenn ich etwas falsch mache.

Antwort

0
if (Hostname == " "+Hostname+" ") 

Die obige Bedingung wird niemals wahr sein.

  1. Sie sollten nicht == für String-Vergleich verwenden, aber .equals(Object object) Methode verwenden. Lesen Sie here, um zu wissen, warum.
  2. Auch Logischer sprechen, auch wenn Sie (1) Ihre Bedingung das Ergebnis

    if("abc" == " abc ") grundsätzlich ignorieren. wenn Hostname beispielsweise "abc" ist.

Sie benötigen eine Bedingung wie.

if ((Character.isWhitespace(Hostname.charAt(0)) || (Character.isWhiteSpace(Hostname.charAt(Hostname.length() - 1))){ 
// pop up here 
} 

Das oben angeführte wird wahr, wenn Hostname beginnt oder endet mit einem Leerzeichen. Sie können die || mit einem && ersetzen, wenn es nur wahr sein sollte, wenn es beginnt und endet mit einem Raum

Sie auf <%@ page import="java.lang.Character" %> auf Ihrer Seite benötigen die Character Klasse aufzunehmen.

+0

oben Code mit einigen Klammern fehlte ich es wie unten bearbeitet: if ((Character.isWhitespace (Hostname.charAt (0))) || (Character.isWhiteSpace (Hostname.charAt (Hostname.length() - 1)))) Aber ich bekomme Fehler als Die Methode isWhiteSpace (char) ist undefined für den Typ Zeichen – shilpa

+0

Ohh ich fand, wo es falsch war. Es ist isWhitespace, nicht isWhiteSpace ich habe es korrigiert und jetzt funktioniert es gut. Vielen Dank. – shilpa

+0

@shilpa: danke für das Aufzeigen. Die Klammern wurden aktualisiert. –

Verwandte Themen