У меня проблемы с удержанием @ModelAttribute
от вызова некоторых URL, например статических ресурсов, найденных на моих страницах. Это приводит к тому, что около 50% вызовов этих методов являются избыточными.
Я попытался ограничить @ModelAttribute
с помощью @GetMapping
, создав несколько методов для фильтрации URL-адресов. Все без большого успеха.
GlobalController.java
@ControllerAdvice
public class GlobalControllerAdvice {
public static int k;
@Autowired
private UsersService usersService;
@ModelAttribute("unread")
public int unread(Principal principal) {
int unread = 0;
k++;
System.err.println("Inside unread " + k);
if (principal != null) {
User user = usersService.getWithUser(principal.getName(), "notifications");
for (Notification n : user.getNotifications())
if (!n.isRead())
unread++;
}
return unread;
}
}
featured.jsp
(пример кода, который избыточно вызывает непрочитанный метод @ModelAttribute
.)
<img alt="genuine vote"
src="${pageContext.request.contextPath}/static/images/rating/emptyUpvote.png"
height="20" width="20">
Ожидаемый результат должен игнорировать статический URL, но вместо этого он вызывает unread ().