Как отобразить сообщение, когда объект modelAndView пуст
Я пытаюсь отобразить сообщение, когда мой объявленный объект modelAndView пуст, который загружается с помощью addObject() и возвращается через контроллер
мой код что-то вроде...
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("issuedItemList", itemReceiveService
.getIssuedItemList(itemReceive));
я искал некоторые данные из базы данных и поместил их в этот объект ("editionItemList") modelAndView в виде списка. Я хочу, чтобы при поиске заявления не было найдено данных, там будет отображаться сообщение "Данные не найдены"
3 ответа
Если вы отображаете сообщение на странице jsp, вы можете использовать теги JSTL для проверки размера списка, например
<c:if test="${fn:length(issuedItemList) eq 0}">
<p>No data found</p>
</c:if>
Я думаю, это то, что вы ищете...
Ответ Кулдипа сработает, если вы вернете пустой список. Если выданный ItemList может быть нулем, попробуйте
<c:if test="${not empty issuedItemList}">
<p>No data found</p>
</c:if>
Я бы поместил сообщение об ошибке внутри ModelAndView, если список пуст:
ModelAndView modelAndView = new ModelAndView();
List<IssuedItem> issuedItemList = itemReceiveService.getIssuedItemList(itemReceive);
if (issuedItemList == null || issuedItemList.size() == 0) {
modelAndView.addObject("errorMessage", "No data found");
}
else {
modelAndView.addObject("issuedItemList", issuedItemList);
}
Это исключит всю вашу логику, кроме простых нулевых проверок.