2012-11-28 27 views
0

我想驗證一個字符串放置在我的HTML中作爲我的Java程序中的標記,這樣如果有人更改了HTML標記字符串,我的Java程序會檢查字符串,如果它是我寫的。Java驗證Java代碼中的HTML字符串

這裏是我的Java ...

public void init() 
{ 
    String name = getParameter("author"); 
    String course = getParameter("class"); 


    if (name == "goes here") 
    JOptionPane.showMessageDialog (null, "Good, it will setVisible(true)", "Library System", JOptionPane.WARNING_MESSAGE); 
    if (name != "goes here") 
     JOptionPane.showMessageDialog (null, "NOT good and will setVisible(false)", "Library System", JOptionPane.WARNING_MESSAGE); 

    Container contain = getContentPane(); 
    contain.add(new LibraryPanel(name, course)); 
    setVisible(true); 
} 

這是我的HTML ...

<html> 
<body> 
<applet code=3.LibraryFrame.class width=650 height=700> 
    <param name=author value="goes here"> 
    <param name=class value="className"> 
</applet> 

</body> 
</html> 

所以,當我在我的HTML標記字符串是正確的但它總是說它不匹配。我甚至在我的showMessageDialog中放置了名稱和課程變量,並且它匹配。

關於爲什麼它沒有正確驗證的任何想法?

回答

3
if (name == "David Duke") 

千萬不要在Java中使用==!=來比較字符串。使用equals()代替:

if (name.equals("David Duke")) 

注意==檢查左側和它的右側兩個參數指的是完全相同的對象 - 它檢查兩個對象的內容是一樣的。

+0

很好,我剛剛嘗試過.equalsignorecase(),現在它工作。 – DDDD

3

始終將字符串與equals()進行比較,永遠不要與==進行比較。

它是前人的精力

if ("David Duke".equals(name)) 

因爲==比較了參考的數據類型的引用。

此外,你可以擺脫第二if聲明,並使用else

+0

我試圖測試結果,我使用了很多if語句來查看發生了什麼。 – DDDD