2014-09-02 29 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()
相关问题