将表单单选值发送到 Java servlet,返回 null

Posted

技术标签:

【中文标题】将表单单选值发送到 Java servlet,返回 null【英文标题】:Sending form radio values to Java servlet, returns null 【发布时间】:2019-09-07 04:45:32 【问题描述】:

当我想将一个单选值从 html 页面上的表单发送到 Java Servlet 时,这似乎总是一个空值,而不是“1”或“2”或...

这是我的 HTML 代码:

<form method="post" action="/testWeb/animalsurvey" target="_blank">

<p>What is your favorite pet?</p>

<p><input type="radio" name="animal" value="1" />Dog<br />
<input type="radio" name="animal" value="2" />Cat<br />
<input type="radio" name="animal" value="3" />Bird<br />
<input type="radio" name="animal" value="4" />Snake<br />
<input type="radio" name="animal" value="5" checked="checked" />None</p>

<p><input type="submit" value="Submit" /></p>

这是 Java Servlet 代码:

protected void doPost(HttpServletRequest request,
                      HttpServletResponse response) throws ServletException, IOException 

    PrintWriter out = response.getWriter();

    String value = request.getParameter("name");

    out.println(value);


Web.xml 代码,显示 servlet 映射:

<servlet>
    <servlet-name>animalsurvey</servlet-name>
    <description>A survey servlet.</description>
    <servlet-class>be.SurveyServlet</servlet-class>
</servlet>


<servlet-mapping>
    <servlet-name>animalsurvey</servlet-name>
    <url-pattern>/animalsurvey</url-pattern>
</servlet-mapping>

我不知道我在这里是不是瞎了眼,但是我做错了什么?

【问题讨论】:

【参考方案1】:

貌似是参数名:

请尝试:

 String value = request.getParameter("animal");

【讨论】:

哇,我现在觉得自己很笨。那确实是我的错。 这是一个常见的错误不要难过:)

以上是关于将表单单选值发送到 Java servlet,返回 null的主要内容,如果未能解决你的问题,请参考以下文章

XMLHttpRequest对象有几个返回状态值?Servlet与JSP的关系

java servlet 中文乱码问题解决

HTML5 FormData 在 Java Servlet request.getParameter() 中返回 null

Jquery书写ajax

Ajax 将带有两个数组的 JSON 对象发送到一个 servlet 并在没有 jQuery 的情况下在 java servlet 中解析

如何使用一个ajax请求从java servlet返回多个json对象