java遍歷request.getParameterMap()中的值


在開發過程中發現request對象有提供一個request.getParameterMap()方法可以獲取到從前端請求發送的參數Map。

但是在使用get()方法通過key(鍵)去獲取這個參數Map中對應的value(值)的時候,發現獲取的是對象。

Map map = request.getParameterMap();
System.out.println(map.get("yanggb")); // [Ljava.lang.String;@4665fc21

通過打印出來的信息,很容易就發現該對象是一個字符串數組,因此我們就可以知道request.getParameterMap()方法返回的map中存儲的值是數組。

我們通過一個循環來校驗一下。

for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {
  Map.Entry element = (Map.Entry) iter.next();
  Object strKey = element.getKey();
  String[] strArr = (String[])element.getValue();
  System.out.println(strKey);
  for (String str : strArr) {
    System.out.println(str); // yanggb
  }
}

這個時候就發現能夠正常打印出前端請求發送的參數值了。

然后我們將上面最開始的代碼稍微改動一下。

Map map = request.getParameterMap();
String[] yanggbs = (String[])map.get("yanggb");
if (yanggbs.length > 0) {
    System.out.println(yanggbs[0]); // yanggb
}

這樣就能正常獲取到前端請求發送的參數值了。

 

"你是你自己人生的唯一負責人。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM