Как загрузить файл JavaScript с помощью thymeleaf + springboot - PullRequest
0 голосов
/ 16 мая 2019

У меня есть 2 метода, которые возвращают ModelAndView Object.

Первый получает отображение из браузера и возвращает modelandview, который ссылается на файл html.

В конце этого HTML-файла я связываю тег скрипта с корнем пружины, например:

<!-- Calendar Js -->
    <script type="text/javascript" src="../../../static/assets/vendor/netcorr/calendar/calendar.js"
        th:src="@{/customer/web/wall/calendarItems(wallId=${wallId})}"></script>

В контроллере у меня есть второй метод, который загружается на основе этого вызова, который я делаю чуть выше:

/customer/web/wall/calendarItems(wallId=${wallId})

Этот метод добавляет в modelandview некоторые объекты, которые мне нужны в представлении.

У этого modelandview есть корень файла js.

Проблема в том, что html не загружает файл js, который вызывается выше.

Пробовал некоторые решения, найденные в Stackoverflow, решения должны были обрабатывать все это в контроллере mvdconfig.

Иди и брось зависимости и убедись, что они для Spring 4.

Я использую Spring 1.5.9 и spring-boot-starter-thymeleaf

@GetMapping(value = "/customer/web/wall/calendar", params = {"wallId"})
    public ModelAndView calendar(@RequestParam(value = "wallId") long wallId,
                                 Authentication auth,
                                 RedirectAttributes redirectAttributes){
        ModelAndView modelAndView = new ModelAndView("/customer/wall/calendar");
        modelAndView.addObject("wallId",wallId);
        return modelAndView;
    }

    @GetMapping(value = "/customer/web/wall/calendarItems", params = {"wallId"})
    public ModelAndView calendarItems(@RequestParam(value = "wallId") long wallId,
                                 Authentication auth,
                                 RedirectAttributes redirectAttributes){
        User currentUser = (User) auth.getPrincipal();

        Set<Long> wallIds = new HashSet<>();
        wallIds.add(wallId);
        PlaybookFilters playbookFilters = new PlaybookFilters();
        playbookFilters.setCustomerId(currentUser.getCustomerId());
        playbookFilters.setWallIds(wallIds);

        List<Playbook> playbooks = playbookService.getPlaybooks(playbookFilters);

        Date dateBegin = calendarService.getDateBegin();
        Date dateEnd = calendarService.getDateEnd();

        List<CalendarItem> calendarItems = calendarService.fetchPbiForPlaybooks(playbooks, dateBegin, dateEnd);

        ArrayNode items = objectMapper.createArrayNode();
        calendarItems.forEach(item -> items.add(item.toJsonNode()));

        ModelAndView modelAndView = new ModelAndView("/customer/wall/calendarItems");
        modelAndView.addObject("events", items);
        return modelAndView;

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