thymeleaf Невозможно агрегировать на итерируемых, содержащих нули - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь использовать утилиту thymeleaf aggregate, чтобы найти сумму зарплаты из списка, как показано ниже

th:text="${#aggregates.sum(myList.![salary])}"

здесь myList - это список MyObjct, как показано ниже

List<MyObject> myList;

public class MyObject{

private String name;
private double salary;
//getter setter
}

Все работает нормально, пока зарплата не будет null по каждому пункту списка.В этом случае я получаю ошибку java.lang.IllegalArgumentException: Cannot aggregate on iterable containing nulls

Как я могу проверить, все ли элементы списка null, чтобы предотвратить эту ошибку.

1 Ответ

1 голос
/ 31 мая 2019

Сначала используйте выбор коллекции , чтобы исключить записи с окладом null.

${#aggregates.sum(myList.?[salary != null].![salary])}

Выбор коллекции создает новый список, в котором каждый элемент удовлетворяет условию.В этом случае я создаю новый список из myList, где каждый элемент в списке имеет ненулевую зарплату (salary != null).

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