Параметры не печатаются в jsp

У меня есть web.xml, который сначала вызывает selectfoods.jsp, есть эта форма:

<form name = "ingredientsform" method = "post" action = "table.jsp">
<select name = "ingredients" multiple>
  <option value = "tofu">Tofu</option>
  <option value = "pepper">Pepper</option>
  <option value = "spaghetti">Spaghetti</option>
  <option value = "paprika">Paprika</option>
  <option value = "onion">Onion</option>
  <option value = "beef">Beef</option>
  <option value = "mushrooms">Mushrooms</option>
</select>
<input type = "submit">
</form>

который перенаправляется на table.jsp, где я хотел бы распечатать выбранные ингредиенты, но ошибка не появляется, просто пустая страница, вот соответствующий код в table.jsp

    <html>
        <head>
            <meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8">
            <title>Table</title>
        </head>
        <body>
            <table>
 <thead> <td> <b> Products </b></td></thead>
 <%
 String items[] = (String[]) request.getAttribute("ingredients");
 for (int i = 0; i < items.length; i++)
 {
 %>
 <tr> <td> <% out.println(items[i]); %> </td> </tr>
 <%
 }
 %>
 </table>
        </body>
    </html>

Измените это request.getAttribute("ingredients") на request.getParameterValues("ingredients");, чтобы получить несколько значений, выбранных из вашего списка <select>

Swati 24.02.2019 05:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
82
1

Ответы 1

Я бы рекомендовал использовать модель servlet-JSP MVC для разработки приложения. С MVC было бы легко сделать отдельное представление и бизнес-логику, а также легко справиться.

Чтобы получить параметр из отправленной формы, используется request.getParameter(), а не request.getAttribute().

Здесь вы должны сделать несколько выборов, поэтому вам нужно использовать request.getParameterValues(), который извлечет все выбранные значения.

Другие вопросы по теме