Страницы

Поиск по вопросам

вторник, 11 июня 2019 г.

Ошибка вывода данных из servlet в JSP

проблема следующая, пытаюсь отобразить данные переданные как список "List". Но получаю ошибку
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/jsp/jstl/core/LoopTagSupport
С чем связанно тоже не могу понять. Вот код servlet:
List list = new ArrayList();
while (resultSets.next()) { Roll roll = new Roll();
roll.setNumbern(resultSets.getInt(1));
roll.setRollnum(resultSets.getInt(2));
roll.setTimer(resultSets.getDate(4));
list.add(roll);
request.setAttribute("name",list); } request.getRequestDispatcher("4kl/test.jsp").forward(request, response);
Вот JSP
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ${n.Numbern} ${n.Rollnum} ${n.Timer}
Класс Roll
public class Roll implements Serializable { private static final long serialVersionUID = 1L;
private int Numbern;
private int Rollnum;
private Date Timer;
public int getNumbern() { return Numbern; }
public void setNumbern(int numbern) { Numbern = numbern; }
public int getRollnum() { return Rollnum; }
public void setRollnum(int rollnum) { Rollnum = rollnum; }
public Date getTimer() { return Timer; }
public void setTimer(Date timer) { Timer = timer; }
public Roll (){}
}
Pom.xml:
4.0.0
ua.asutp mymvn 0.0.1-SNAPSHOT war
javax.servlet servlet-api 3.0-alpha-1 provided
org.glassfish.main.extras glassfish-embedded-all 3.1.2.2 test
javaee javaee-api 5
jstl jstl 1.2
javax javaee-web-api 6.0 provided
local-oracle ojdbc6
org.hibernate hibernate-core 4.1.11.Final
dom4j dom4j 1.6.1
commons-logging commons-logging 1.2
commons-collections commons-collections 3.2.1
cglib cglib 2.2
javax.transaction jta 1.1

org.apache.maven.plugins maven-compiler-plugin 1.5 1.5
org.apache.maven.plugins maven-war-plugin 2.1.1 false

Возможно я что-то пропустил при вызове c:forEach Помогите пожалуйста разобраться. Может есть способ получше JSTL ? Я только учусь, поэтому мне хотелось бы знать как правильнее выводить данные. Спасибо. Все еще актуально.


Ответ

Не ответ, просто пометка:
request.setAttribute("name",list);
эту строчку вытащите из цикла,добавить то надо всего 1 раз

Ещё один момент по поводу зависимости
javax.servlet servlet-api 3.0-alpha-1 provided
в центральном репозитории я не смог найти такого, попробуйте взять более новую версию, например 4:
javax.servlet javax.servlet-api 4.0.0 provided
эту зависимость тоже стоит обновить. Нет такой версии 5, может быть где-то есть 5,0 но по идее это вам должна была IDE показать
javax javaee-api 7.0 provided

Комментариев нет:

Отправить комментарий