Как ограничить @ModelAttribute от вызова по определенным URL - PullRequest
0 голосов
/ 10 января 2019

У меня проблемы с удержанием @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 ().

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