如何在Java中存储一组URL参数?

时间:2014-07-14 21:39:06

标签: java

通常情况下,我会将网址参数(GET请求参数)存储为HashMap<String,String>,但不会考虑像test.php?request=id1&request=id2这样的网址。是否有任何用Java实现的数据结构可以解决这个问题(我可以通过名称查询参数)?或者,我可以在哪个地方使用一个类(请不要使用库)?

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容伪造多图:

Map<String, List<String>> multimap = new HashMap<String, List<String>>();

参见&#39; MultiMap&#39;本页的相关部分以获取更多信息: The Map Interface

答案 1 :(得分:0)

如果您正在讨论使用java编写servlet或其他东西,据我所知,HttpServletRequest类附带参数作为列表,对于每个参数,值是一个数组。

HttpServletRequest req=...
Enumeration<String> names=req.getParameterNames(); //
String para=names.getNextElement();//return "request"
String[] values=para.getParameterValues();// Should get["id1","id2"]

现在你肯定可以使用它的列表,就像whiskeyspider建议的那样。

在放入hashMap之前,您也可以在其上创建一个包装器,甚至只是为了序列化它。那么我们你需要使用它,只需打开它。但我建议一直使用一个列表,你总是可以检查长度,知道它是单个参数还是列表。