Если у меня есть сервлет с JVM1.4.2, и он получает запрос POST с полями данных формы. Я использую req.getParameterNames(), чтобы получить, как я и ожидал, всю строку запроса и данные формы. Однако все, что я когда-либо получаю, это параметры строки запроса.
Литература Я читаю различные sources говорит, что getParameterNames() и getParameterValues(String) должны быть способом получения всей строки запроса и опубликованных данных формы, отправленных браузером для JDK 1.4. Вот метод, который я использую для извлечения всех параметров, которые, как я ожидаю, будут включать опубликованные данные формы:
public Map getParameterMap(HttpServletRequest req) {
Map params= new HashMap();
String name = null;
System.out.println("<< Getting Parameter Map.>>");
Enumeration enumParams = req.getParameterNames();
for (; enumParams.hasMoreElements(); ) {
// Get the name of the request parameter
name = (String)enumParams.nextElement();
// Get the value of the request parameters
// If the request parameter can appear more than once
// in the query string, get all values
String[] values = req.getParameterValues(name);
params.put(name, values);
String sValues = "";
for(int i=0;i<values.length;i++){
if(0<i) {
sValues+=",";
}
sValues +=values[i];
}
System.out.println("Param " + name + ": " + sValues);
}
System.out.println("<< END >>");
return params;
}
Этот вопрос также соответствует моим ожиданиям, но сервлет не улавливает данные формы. Явно что-то упускаю....
Обновление: данные поста очень прямолинейны и не являются составной формой или мультимедиа. Просто обычный текст, отправленный через AJAX POST, который выглядит так в теле сообщения
c1=значение%20A&c2=значение%20B&c3=значение%20C
form
и пример элементовinput
/select
/textarea
на нем. - person T.J. Crowder   schedule 16.08.2011form
) и различными потенциальными ошибками в разметке HTML, и мы могли бы помочь вам с ними, если бы вы их показали. И мой комментарий о JVM 1.4.2, который какой-то гиперактивный модератор совершенно неуместно удалил, также уместен: В этой отрасли использование сильно устаревших технологий, как правило, вызывает у вас проблемы. - person T.J. Crowder   schedule 16.08.2011@giulio
: Понятно. Удачи! Я склонен сомневаться, что проблема заключается в JVM 1.4.2. Опять же, вы опубликуете соответствующий HTML-код вашей формы... - person T.J. Crowder   schedule 16.08.2011