У меня есть 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>




Я бы рекомендовал использовать модель servlet-JSP MVC для разработки приложения. С MVC было бы легко сделать отдельное представление и бизнес-логику, а также легко справиться.
Чтобы получить параметр из отправленной формы, используется request.getParameter(), а не request.getAttribute().
Здесь вы должны сделать несколько выборов, поэтому вам нужно использовать request.getParameterValues(), который извлечет все выбранные значения.
Измените это
request.getAttribute("ingredients")наrequest.getParameterValues("ingredients");, чтобы получить несколько значений, выбранных из вашего списка<select>