首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sevlet中的枚举

sevlet中的枚举
EN

Stack Overflow用户
提问于 2013-01-12 19:01:05
回答 2查看 31关注 0票数 1

1.这是我的表单代码:

代码语言:javascript
运行
复制
<form method="GET" action="Add">
first-name: <input type="text" name="first-name" value=""/><br/>
last-name: <input type="text" name="last-name" value=""/><br/>
email-id:  <input type="text" name="email" value=""/><br/>
<input type="submit"  name="submit" value="join now"/><br/>
</form>

2.下面是servlet片段:

代码语言:javascript
运行
复制
Enumeration<String> en=request.getParameterNames();

    while(en.hasMoreElements()){
        String param=en.nextElement();
        PrintWriter pw=response.getWriter();
        pw.print(param);
        pw.println(request.getParameter(param));

下面是输出:

代码语言:javascript
运行
复制
first-namevishal
emaildrunkendeathison@gmail.com
submitjoin now
last-nameanand

为什么没有按顺序获取呢?在名字之后必须是姓氏,然后是电子邮件和提交,对吧?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-12 19:14:44

这并不是servlet所特有的。所有服务器端技术将以与html表单数据由键-值对组成的方式相同的方式工作。如果你有任何逻辑期待命令的到来,你可能需要重新审视它。一般来说,你接收数据的顺序不会有任何不同,你接收的数据更重要。

票数 1
EN

Stack Overflow用户

发布于 2013-01-12 19:07:10

参数存储在HshMap (最有可能是一个HashMap)中,并且不能保证Map中项目的顺序。也就是说,项目是按其键的散列排序的。当您请求参数名称的枚举时,您可能得不到按照它们被插入到映射中的顺序返回它们。您不应该在servlet中依赖此顺序。

在此question中,有一些关于HashMap中项的顺序的讨论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14292677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档