Столкнулся с такой проблемой: передаю в JSP ArrayList из сервлета с помощью request.setAttribute(), но при попытке получить элемент этого списка в JSP получаю NullPointerException.
Вот сервлет
public class TestServlet extends HttpServlet {
File f = new File("Report_not_R5_updated.xlsx");
ArrayList<String> list = new ArrayList<String>();
protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(f));
XSSFSheet sheet = workbook.getSheet("Alarm");
for(int r = 1; r<= sheet.getLastRowNum(); r++) {
XSSFRow row = sheet.getRow(r);
if((row.getCell(9).toString()).equals("Нет R5")) {
list.add((row.getCell(3)).toString());
}
}
request.setAttribute("answer", list);
request.getRequestDispatcher("/test.jsp").forward(request, response);
workbook.close();
}
}
Вот страничка JSP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Автоматический подбор R5</title
</head>
<body>
<h2>Автоматический подбор R5</h2>
<form action="TestServlet" method="POST">
<button type="submit">Получить список</button>
</form>
<%@page import="java.util.ArrayList" %>
<%
ArrayList<String> list = (ArrayList<String>)request.getAttribute("answer");
out.println(list.get(0));
%>
</body>
</html>
Если я просто вывожу на экран ArrayList (out.println(list)
), то вижу, что он не пустой, в нем есть элементы.
Подскажите, в чем ошибка?
В чем ошибка я, к сожалению, не скажу, но могу предложить Вам альтернативу
<c:forEach var="listItem" items="${answer}">
//Работа с каждым элементом отдельно использую ${listItem}
</c:forEach>
Вы так же можете для эксперимента попробывать вывести тип элемента list в вашей jsp, чтобы убедиться, что произошла правильная конвертация
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В maven-проекте, запускаемом из NetBeans 82 подключена зависимость
Давненько не брал в руки шашку, как то решил переписать свою аппу под Android на толстого десктоп клиента и обнаружил, что Swing типа как бы умер
Есть две базы(PostgreSQL) дублирующие полностью друг другаВ нашем апи приложении раньше использовался один датасурс, т