url - 检索所有参数以唯一名称开头

时间:2014-09-02 13:33:33

标签: java url web parameters

我正在研究一个java Web应用程序,在那里我遇到了一个奇怪的场景,就像下面提到的那样。

我有一个网址 - 我可以在这里找到一组参数列表,其中一组参数以相同的名称开头 - 但我们不确定这些参数的总数。

让我用一个简单的例子解释一下。

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

请您告诉我如何将所有学生姓名列入名单,然后所有学生按顺序列入名单?

1 个答案:

答案 0 :(得分:0)

这是你可以做到的:

  1. 使用您拥有的网址文字创建URL
  2. URL.getQuery()将返回整个查询部分(在?字符之后)。
  3. 在参数分隔符(String.split("&"))处拆分查询。这将为您提供一系列"paramname=paramvalue"字符串。
  4. 遍历数组,并将每个元素拆分为'='个字符。这将为您提供一个包含2个字符串的数组:参数名称和参数值。
  5. 使用URLDecoder.decode()方法解码每个参数名称和参数值以获取有效文本。
  6. 将以"stud"开头的参数放入一个数组,将以"age"开头的参数放入另一个数组,放入由下划线后面的参数名中的数字指定的索引({ {1}})角色。
  7. 在步骤6中将元素存储在指定的索引处将确保数组中的元素按顺序排列,如果需要列表而不是数组,请使用'_'