【发布时间】:2016-10-09 00:22:28
【问题描述】:
这是How to return an iText PDF document to the client side的延续
我正在尝试将数组传递给 Servlet。我被提到Send an Array with an HTTP Get 但是,我不明白。这是我尝试过的:
List<String[]> listymAwards = new ArrayList<String[]>();
//...
String url = "https://www.awardtracker.org";
String charset = "UTF-8"; // Or in Java 7 and later, use the constant: java.nio.charset.StandardCharsets.UTF_8.name()
//String[] param1 = listymAwards.getParameterValues("param1"); // This attempt is not accepted below by URLEncoder.encode(param1, charset), as it is not a String
String[] param1 = listymAwards.toArray(new String[0]); //This attempt is not accepted below by URLEncoder.encode(param1, charset), as it is not a String
String param2 = scoutName;
String param3 = groupName;
// ...
String query = String.format("param1=%s¶m2=%s¶m3=%s",
URLEncoder.encode(param1, charset),
URLEncoder.encode(param2, charset),
URLEncoder.encode(param3, charset));
URLConnection connection = new URL(url).openConnection();
connection.setDoOutput(true); // Triggers POST.
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
try (OutputStream output = connection.getOutputStream()) {
output.write(query.getBytes(charset));
}
问题是尝试将 Array 转换为字符串以在以下位置传递 Servelet:
String[] param1 = listymAwards.toArray(new String[0]); //This attempt is not accepted below by URLEncoder.encode(param1, charset), as it is not a String
有无数的转换问题;但是没有人为此工作。
我还担心如何在 Servelet 中将其转换回或使用它。
【问题讨论】:
标签: java url arraylist urlconnection