我有这段代码:
while(paramNames.hasMoreElements()) {
String paramName = (String)paramNames.nextElement();
String paramValue = request.getHeader(paramName);
out.println(paramName + "=" + paramValue);
}
产生:
course_code3=null schedule_no3=null course_sched3=null
当网址包含以下内容时:
pntc_confirmrsvd.jsp?course_sched3=3&course_code3=CSM101&schedule_no3=201403
为什么我没有在网址中获取key = value对?上面的代码有什么问题?任何帮助将非常感激,因为我已经被这3小时难倒了。 :(
我实际需要做的是这样的事情:
while(paramNames.hasMoreElements())
{
String paramName = (String)paramNames.nextElement();
String paramValue = request.getHeader(paramName);
if (paramName.contains("course_code"))
{
course_code = paramValue;
}
else if (paramName.contains("schedule_no"))
{
schedule_no = paramValue;
}
else if (paramName.contains("course_sched"))
{
course_sched = paramValue;
}
out.println("Course: " + course_code + " ,Schedule: " + schedule_no + " , Item: "+course_sched);
}
答案 0 :(得分:1)
您正在呼叫request.getHeader()
以获取参数值。正如其名称所示,getHeader()
不返回参数值,而是返回标头值。要获取参数值,请调用... getParameter()
。
答案 1 :(得分:0)
String paramValue = request.getHeader(paramName);
应该是
String paramValue = request.getParameter(paramName);
答案 2 :(得分:0)
您可以使用getParameterMap()来获取包含请求键/值对的Map对象。
完成后,您可以轻松遍历所有键并获取值:
Map<String, String[]> paramMap = request.getParameterMap();
String[] values = null;
for (String key : paramMap.keySet().iterator()) {
values = paramMap.get(key);
}
我已经离开Java一段时间了,所以我的Map变量声明可能不对。