Помимо изменения конструктора моей группы на то, что предложил @ 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;
}
Похоже, что теперь он работает.
Причал включает их собственную библиотеку JSTL и нет никакой потребности включать стандартные и базовые банки jakrta taglib.
При помещении банок jakartat taglib в веб-приложение затем существует конфликт в теге forTokens, который вызывает эту ошибку, в то время как другие теги работают хорошо. Я предлагаю или удаляю Джакарту taglib реализация из Вашего веб-приложения и полагаюсь на Причал, или прекратите использовать forTokens.
@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>