关于servlet中的参数行参数读取问题,100分

spotboy 2003-07-29 11:12:30
现有一个形如
http:/.../processDel?from=1&total=1&id=3的servlet服务请求

在代码中,如何编程逐一读取from,total,id的值,假设根本不知道参数的名称。
这个问题我弄了一早上都没有解决,急死了,我用了
getParameterNames()函数,返回了一个Emumeration类型的对象,但是发现它只能访问第一个参数,却访问不了后续的参数,是不是我的参数行的形式搞错了?

多谢指教!
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
phsea 2003-07-29
  • 打赏
  • 举报
回复
嗯,帮你顶一下,不知道参数,怎么取得相应值??
wllmmm 2003-07-29
  • 打赏
  • 举报
回复
上面老兄回答的很好了
不应该再有问题了
Apollo47 2003-07-29
  • 打赏
  • 举报
回复
你自己写的请求,怎么会不知道请求所带的参数名称??
Hashtable ht = new Hashtable();
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String param = enum.nextElement().toString(); // 参数名称;
String value = request.getParameter(param); // 参数值;
ht.put(param, value); // 将参数名称和值放到Hashtable中。
}
lovelanzhi716 2003-07-29
  • 打赏
  • 举报
回复
快结贴吧,应当搞定了
songlean 2003-07-29
  • 打赏
  • 举报
回复
中间可以再加一层判断:
if (values.length > 1){
for (int i = 0; i < values.length; i++) {
ht.put(param + "_" + i, values[i]);
}
} else if (values.length == 1) {
ht.put(param, values[0]);
}

songlean 2003-07-29
  • 打赏
  • 举报
回复
Apollo47(阿波罗) 的方法,如果遇到页面上有一组控件数组,就会产生问题。
改进如下:
Hashtable ht = new Hashtable();
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String param = enum.nextElement().toString(); // 参数名称;
String[] values = request.getParameterValues(param); // 参数值;
ht.put(param, value); // 将参数名称和值放到Hashtable中。
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧