Jasper в Причале 6 выдает исключение для тега JSTL

Помимо изменения конструктора моей группы на то, что предложил @ codeflush.dev, я изменил реализацию внутри:

@Override
public List<Group> findUsingRequestParams(String line, String name, Integer gid, String member) {
    List<Group> allGroups = FileParserUtils.parseFileForGroups(line);
    List<Group> matchedGroups = new ArrayList<>();

    for (Group group : allGroups) {
        if (group.getMembers() != null) {
            if (group.getName().equals(name) || group.getGid() == gid || group.getMembers().contains(member)) {
                matchedGroups.add(group);
            }
        }
    }
    return matchedGroups;
}

Похоже, что теперь он работает.

6
задан skaffman 29 February 2012 в 11:59
поделиться

2 ответа

Причал включает их собственную библиотеку JSTL и нет никакой потребности включать стандартные и базовые банки jakrta taglib.

При помещении банок jakartat taglib в веб-приложение затем существует конфликт в теге forTokens, который вызывает эту ошибку, в то время как другие теги работают хорошо. Я предлагаю или удаляю Джакарту taglib реализация из Вашего веб-приложения и полагаюсь на Причал, или прекратите использовать forTokens.

6
ответ дан 10 December 2019 в 00:45
поделиться

@Guss прав, единственным выходом кажется отказ от использования c:forTokens.

пример альтернативы c:forTokens с использованием c:forEach:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<c:forTokens items="${input}" delims="," var="i">
     <!-- do stuff with ${i} -->
</c:forTokens>

<c:forEach items="${fn:split(input,',')}" var="i">
     <!-- do stuff with ${i} -->
</c:forEach>
4
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: