Отображение ArrayList на странице JSP через JSTL - PullRequest
1 голос
/ 23 марта 2011

Может кто-нибудь помочь мне разобраться, что я делаю не так? У меня есть класс с методом, который возвращает ArrayList, и я не могу отобразить его на моей странице JSP. Вот мой код:

//java class
public class Confirmation {
ArrayList<Criterion> criterion = null;
ArrayList<String> criterionTitles = null;
EvaluationDefinition eval = null;

public ArrayList<String> getCriterionTitles() {
    criterion = new ArrayList<Criterion>();
    criterionTitles = new ArrayList<String>();

    for(int i = 0; i < eval.getGroups().get(0).getCriterionCount(); i++ )
    {
       criterion.add(eval.getGroups().get(0).getCriterion().get(i));
       criterionTitles.add(i, criterion.get(i).getTitle());
    }
    return criterionTitles;
}  
}
//jsp page code...
<jsp:useBean id="criterionTitles" scope="page" class="Confirmation" />
// ERROR MSG HERE: Error reading 'criterionTitles' on type Confirmation
<c:forEach var="title" items="${criterionTitles.criterionTitles}">
 <c:out value="${title}" />
</c:forEach>

если я запускаю логику цикла for в сервлете и просто out.println (criterion.get (i) .getTitle (), то она прекрасно печатает заголовки. Это только когда я запускаю цикл c: foreach, я получаю ошибки. Спасибо.

1 Ответ

0 голосов
/ 23 марта 2011

Ошибка чтения 'criterionTitles' для типа Подтверждение

При вызове getCriterionTitles() возникла исключительная ситуация.Моя ставка на NullPointerException, потому что eval - null.Прочитайте журналы сервера для полной трассировки стека, отследите основную причину в коде и исправьте ее соответствующим образом.


Вне зависимости от конкретной проблемы, помещение классов в пакет по умолчанию - плохая идея.Это будет работать только на определенных конфигурациях servletcontainer / JVM, но не на всех.В обычном Java-классе внутри пакета исключить import классы из пакета по умолчанию невозможно.Некоторые контейнеры сервлетов имеют встроенные обходные пути для этого, чтобы быть «дружественными к новичкам».Но на это не стоит полагаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...