2014-09-02 27 views
0

我正在研究一個java web應用程序,我遇到了一個奇怪的場景,就像下面提到的那個場景。url - 檢索所有參數以一個唯一的名字開頭

我有一個網址 - 我可以期待一組參數,其中一組參數以相同名稱開頭 - 但我們不確定這些參數的總數。

讓我用一個簡單的例子來解釋。

http://test.com/test.action?stud_0=test6&age_0=12&stud_1=test4&age_1=16&stud_2=test5&age_2=14

請你可以告訴我怎樣才能在列表中的所有學生的姓名,然後將所有的學生年齡在列表中,以便?

回答

0

這是你如何做到這一點:

  1. 你所擁有的URL文本創建URL
  2. URL.getQuery()將返回整個查詢部分(在?之後的字符)。
  3. 拆分處的參數分隔符(查詢String.split("&")。這會給你"paramname=paramvalue"字符串數組。
  4. 迭代陣列上,並且在'='字符分割的每個元素。這會給你一個2個字符串數組:。參數名稱和參數值
  5. 解碼每個PARAM名稱,並使用URLDecoder.decode()方法來得到一個有效的文本參數值的方式
  6. 將與"stud"開始成一個陣列,與"age"開始進入參數,參數另一個數組,指向由參數名稱中的數字指定的索引在下劃線後('_')字符。
  7. 將元素存儲在步驟6中的指定索引處將確保數組中的元素按順序排列,如果需要列表而不是陣列,請使用Collections.asList()
相關問題