【发布时间】:2011-08-03 21:58:08
【问题描述】:
我正在从客户端接收字符串,如下所示 -String time_S = request.getParameter(Message.KEY_TIME);
现在,如果我想接收链表数据,我应该怎么做?我尝试使用getParameterValues,但我认为我不能正确使用它。
提前致谢。
【问题讨论】:
标签: java get httprequest
我正在从客户端接收字符串,如下所示 -String time_S = request.getParameter(Message.KEY_TIME);
现在,如果我想接收链表数据,我应该怎么做?我尝试使用getParameterValues,但我认为我不能正确使用它。
提前致谢。
【问题讨论】:
标签: java get httprequest
您不能真正通过 HTTP 检索“链表”本身——它需要被序列化(从 Java 对象转换为字符串)。有很多方法可以做到这一点,但您可以让他们将其作为一组逗号分隔值发送给您,然后将其解析为您选择的链表或 java 数据结构。
【讨论】:
如果您让它们通过 JSON 发送,则可以使用几个库将它们更改为 Java 标准对象。比如Simple.JSON,它把JSON Array's 变成Java List 对象,或者JSON Object's 变成Java Map's。
【讨论】:
getParameterValues 可能是最简单的方法,前提是客户端可以将列表的每个元素作为重复的查询字符串参数提供。
例如,如果客户端可以发送此查询字符串:
color=red&color=white&color=blue
getParameterValues("color") 将返回 {"red", "white", "blue"}
【讨论】:
取决于您提交数据的方式。例如,如果您从网页提交数据并且使用相同的参数名称提交数据,则可以使用 getParameterValues 方法。
例如,采用以下输入:
<input type="text" name="time" />
<input type="text" name="time" />
<input type="text" name="time" />
那么就可以通过如下方式访问参数了
String[] times = request.getParameterValues("time");
如果您需要该链表,只需执行以下操作
LinkedList<String> timeList = new LinkedList<String>(Arrays.asList(times));
【讨论】: