Как отобразить сообщение, когда объект 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);
}

Это исключит всю вашу логику, кроме простых нулевых проверок.

Другие вопросы по тегам