Получить значения флажков на странице JSP - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь получить все значения из списка выбранных флажков на странице JSP в класс Java.Это моя JSP-страница:

    <table border="1" cellpadding="5" cellspacing="1" style="width: 877px; ">
   <tr>
      <th>Code</th>
      <th>Name</th>
      <th>Price</th>
      <th>Select</th>
      <th>Edit</th>
      <th>Delete</th>
      <th>Show</th>
   </tr>
   <c:forEach items="${productList}" var="product" >
      <tr>
         <td>${product.code}</td>
         <td>${product.name}</td>
         <td>${product.price}</td>
         <td>
         <input type="checkbox" name="ProductItem"  value="${product.code}">
             <c:url value="ShowProductList" var="url">
             <c:param name="ProductItemP" value="${product.code}"/>
             </c:url> 
         </td>
         <td>
            <a href="editProduct?code=${product.code}">Edit</a>
         </td>
         <td>
            <a href="deleteProduct?code=${product.code}">Delete</a>
         </td>
         <td>
            <a href="ShowProduct?code=${product.code}">Show</a>
         </td>
      </tr>
   </c:forEach>
</table>


 <a href="${url}">Show Items</a>

Как видите, есть таблица со списком элементов с флажком в каждой строке.В конце таблицы есть кнопка «Показать элементы», которая запускает запрос пользователя.Это класс сервлета, который выполняет запрос:

    @WebServlet(urlPatterns = { "/ShowProductList" })
public class ShowProductList extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public ShowProductList() {
        super();
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        Connection conn = MyUtils.getStoredConnection(request);

             String[] paramValues = request.getParameterValues("ProductItemP");
             System.out.println(paramValues.length);
             response.sendRedirect(request.getContextPath() + "/productList");      
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

Когда пользователь выбирает два или более флажка и нажимает кнопку «Показать элемент», у меня может быть только последний код продукта с установленным флажком, и не всекоды с выбранной коробкой.Если я попробую request.getParameterValues ​​("ProductItem");У меня есть нулевое значение.Я бы предпочел, чтобы на странице JSP не было кода (если это возможно.) Может ли кто-нибудь помочь мне найти решение?Спасибо за ваше терпение.

`

...