【问题标题】:html form processing in java servletjava servlet中的html表单处理
【发布时间】:2011-03-01 21:03:26
【问题描述】:

我正在构建一个 java servlet 来响应一些 HTML 表单。这是简单的测试表格:

 <FORM action="http://somesite.com/prog/adduser" method="post">
    <P>
    <LABEL for="firstname">First name: </LABEL>
              <INPUT type="text" id="firstname"><BR>
    <LABEL for="lastname">Last name: </LABEL>
              <INPUT type="text" id="lastname"><BR>
    <LABEL for="email">email: </LABEL>
              <INPUT type="text" id="email"><BR>
    <INPUT type="radio" name="sex" value="Male"> Male<BR>
    <INPUT type="radio" name="sex" value="Female"> Female<BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </P>
 </FORM>

在服务器端,我得到了 HttpRequest。但是当我得到这样的参数时:

@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    String firstName = req.getParameter("firstname");
    String lastName = req.getParameter("lastname");
    String sex = req.getParameter("sex");
    String email = req.getParameter("email");

}

只有“性”是可以的。我一直在这几个小时不明白为什么“性”与其他人不同。所有其他参数为空。好的,它是唯一的“无线电”类型,但是有没有一种特殊的方法可以获取其他类型的参数?

谢谢!

【问题讨论】:

    标签: java html servlets


    【解决方案1】:

    在 HTML 表单中,为您的 Input 值提供 Name 属性很重要,ID 属性仅有助于页面中的 Javascript 更好地找到您的 Input 元素。

    我注意到您错过了前几个 Input 元素的 Name 属性。

    【讨论】:

    • Thought id 是一回事。
    • 不是,Name是提交Form时浏览器给数据起的名字。 ID 和名称唯一相同的情况是用于链接到页面的特定部分。例如:index.html#section2
    【解决方案2】:

    您需要将name 属性与其余输入标签一起添加,就像您对sex 输入标签所做的那样:

    <FORM action="http://somesite.com/prog/adduser" method="post">
    <P>
    <LABEL for="firstname">First name: </LABEL>
              <INPUT type="text" id="firstname" name="firstname"><BR>
    <LABEL for="lastname">Last name: </LABEL>
              <INPUT type="text" id="lastname" name="lastname"><BR>
    <LABEL for="email">email: </LABEL>
              <INPUT type="text" id="email" name="email"><BR>
    <INPUT type="radio" name="sex" value="Male"> Male<BR>
    <INPUT type="radio" name="sex" value="Female"> Female<BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </P>
    

    【讨论】:

    • 谢谢!菜鸟有时会很盲目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2018-10-15
    • 1970-01-01
    • 2018-02-11
    相关资源
    最近更新 更多