2016-04-29 27 views
0

我在jsp中有一個頁面,其中有一個文本框並提交按鈕。 當我在文本框中輸入值,然後單擊提交它將我重定向到新頁面。 但問題是我想驗證文本框不應該在文本框中輸入值的開始和結束時有任何空格。 下面是我正努力當在文本框的開始或結束處找到空格時,在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"); 
    } 
%> 

我想下面的if語句代碼。 如果發現空白的主機名,在開始或結束它應該給警報消息,但每次它會在第一個else和運行InstanceList.jsp

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

而主機名空的第一次檢查是否正常工作時間。

請幫助,如果我做錯了什麼。

回答

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

上述情況永遠不會成立。

  1. 您不應該使用==進行字符串比較,而是使用.equals(Object object)方法。閱讀here知道爲什麼。
  2. 此外,按道理講,即使你忽略(1)你的條件基本評估爲

    if("abc" == " abc ")。例如,如果主機名是「abc」,則爲

您需要像這樣的條件。

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

如果Hostname以空格開頭或結尾,上述內容將爲真。你可以用&&更換||如果僅當它開始,​​以空間

您可能需要<%@ page import="java.lang.Character" %>您的網頁上包括Character類結束它應該是真實的。

+0

上面的代碼是缺少一些括號我編輯它如下: if((Character.isWhitespace(Hostname.charAt(0)))||(Character.isWhiteSpace(Hostname.charAt(Hostname.length() - 1 )))) 但我得到的錯誤爲 方法isWhiteSpace(char)是未定義的類型字符 – shilpa

+0

哦,我發現它錯了。 這是空白,而不是白色空間我糾正它,現在它工作正常。 非常感謝。 – shilpa

+0

@shilpa:謝謝指出。更新了括號。 –