2012-08-23 25 views
-1

我用這個代碼從HTTP GET整數獲取字符串:如何從http

this.id = 
Integer.parseInt(FacesContext.getCurrentInstance(). 
getExternalContext().getRequestParameterMap().get("id")); 

現在我需要從HTTP GET字符串。你能告訴我怎麼做到這一點?在Netbeans我測試了這個代碼:

this.id = 
    String.parseString(FacesContext.getCurrentInstance(). 
    getExternalContext().getRequestParameterMap().get("id")); 

但是我得到一個錯誤。你能告訴我什麼是正確的方法嗎?

PS NetBeans中的錯誤:

cannot find symbol 
    symbol: method parseString(java.lang.String) 
    location: class java.lang.String 
+0

什麼是你得到的錯誤? –

+0

'parseInt'接受'String'作爲參數,所以你已經有了'String'。將其解析爲'String'是沒有意義的。 – Thor84no

+1

如果您告訴我們您遇到了什麼錯誤,某人只會告訴您正確的方式來執行此操作。沒有錯誤,任何嘗試都是盲目的拍攝。 –

回答

1

Integer.parseInt以一個字符串作爲參數。所以你只需要:

this.id = FacesContext.getCurrentInstance().getExternalContext(). 
      getRequestParameterMap().get("id"); 

因爲你不需要解析一個字符串來獲取一個字符串(就像你的編譯器告訴你的那樣)。

+0

好的,謝謝你的回答! – user1285928

+0

事實證明存在問題。當我嘗試從中獲取值時,我會得到空值。你確定這應該起作用嗎? – user1285928

+0

是的,如果該值爲null,那麼要麼它沒有被設置,要麼你在'.get(String key)'部分指定了錯誤的鍵。 – MrLore

1
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id") 

已經返回你一個字符串,你不必解析它,除了字符串在Java中沒有方法:

String.parseString(String s) 
1

我認爲.get()返回一個對象。所以你可以附加.toString()而不是解析它。上面一行返回一個Integer對象,在那裏你也可以調用.toString()。 我希望這有幫助...

1

String類沒有parseString()方法。你已經有一個字符串。這應該工作(如果this.id實際上是一個字符串):

this.id = 
    FacesContext.getCurrentInstance(). 
    getExternalContext().getRequestParameterMap().get("id");