Получать значения флажков в Java EE - PullRequest
0 голосов
/ 22 мая 2018

У меня есть этот простой HTML-код формы:

<html>
    <form method="post" action="http://localhost:7001/checkuser">
        <input type="checkbox" name="name" value="1">John</input>
        <input type="checkbox" name="name" value="2">Matt</input>
        <input type="checkbox" name="name" value="3">Chris</input>
        <input type="submit" name="sprawdz" value="Submit" />
    </form>
</html>

И когда я получаю этот запрос на публикацию в приложении node.js с экспресс-печатью, я вижу, что опубликованный объект имеет массив "name" с провереннымценности в нем.

Когда я пытаюсь это сделать в сервлете Java EE:

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.*;

public class NewServlet extends HttpServlet {

    private static final long serialVersionUID =1L;
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

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

}

Переменная name содержит только первый проверенный элемент, и я знаю, как получить весь массив.Я пытался

String[] name = request.getParameter("name");

, но это говорит мне, что левая и правая стороны несовместимы.

1 Ответ

0 голосов
/ 24 мая 2018

Вы можете использовать метод getParameterValues ​​().

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.*;

public class NewServlet extends HttpServlet {

    private static final long serialVersionUID =1L;
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        String[] myarr = request.getParameterValues("name");
        for(String s:myarr) {
            out.println("Name : " + s);
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...