2012-05-27 23 views
1

我在JSP以下頁面:JSP的request.getParameter串

<% 
    String req = request.getParameter("req"); 

    if (req == "Start") 
     // Do something here 
%> 

<form> 
    <input type="submit" name="req" value="Start" /> 
</form> 

但是,當我按下開始按鈕似乎REQ值不等於開始和代碼如果聲明不進入

什麼可能是錯的?

回答

10

你應該寫

if (req != null && req.equals("Start")) 

,而不是

if (req == "Start") 
+0

tnx!它的工作:)但爲什麼? – MBZ

+2

因爲在你的代碼中比較對象。爲了比較對象,你必須使用methpd'equals',否則它會通過引用來比較它。 –

+3

+1,''開始「.equals(req)'也經常使用,儘管我不喜歡這種尷尬的語法。 –

2

使用 if("Start".equals(request.getParameter("req")))

即使用request.getParameter( 「REQ」)爲空,您將不會收到任何錯誤。

1

if (req == "Start")比較兩個對象的引用這就是爲什麼你沒有進入if塊。使用String類equals()方法比較值而不是參考。

相關問題