Отправка значений радиоформы в сервлет Java, возвращает нуль

#java #forms #servlets #radio

#java #формы #сервлеты #переключатель

Вопрос:

Когда я хочу отправить радиозначение из формы на HTML-странице в сервлет Java, это всегда кажется нулевым значением, вместо «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:

 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-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");
 

Комментарии:

1. Вау, теперь я чувствую себя действительно глупо. Это действительно была моя ошибка.

2. Это распространенная ошибка, не расстраивайтесь 🙂