Thymeleaf добавить несколько параметров в URL за один раз - PullRequest
0 голосов
/ 21 мая 2019

Учитывая, что у меня есть конечная точка MVC с отображением:

@RequestMapping
public String eventHistory(final Model model,
                           @PageableDefault(sort = {"id"}, direction = DESC) final Pageable pageable,
                           final EventHistoryFilter eventHistoryFilter) {
    ...

    model.addAttribute("eventHistoryFilter", eventHistoryFilter);
}

, где EventHistoryFilter:

final class EventHistoryFilter {
    private Long eventId;
    private String eventType;
    private String eventDateFrom;
    private String eventDateTo;

    ...
}

, а в шаблоне тимелина я хотел бы создать URL с параметрами, например:

th:href="@{/event-history(page=${page.number-1},eventId=${eventHistoryFilter.eventId},eventType=${eventHistoryFilter.eventType},eventDateFrom=${eventHistoryFilter.eventDateFrom},eventDateTo=${eventHistoryFilter.eventDateTo})}"

Как добавить несколько параметров в URL за один раз?

Я не нашел его здесь: https://www.thymeleaf.org/doc/articles/standardurlsyntax.html#adding-parameters

Я бы хотел не указывать каждый параметр по одному.

РЕДАКТИРОВАТЬ: я пытался использовать https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html#building-uris-to-controllers

String url = MvcUriComponentsBuilder.fromMappingName("EHE#eventHistory").arg(2, eventHistoryFilter).build();

, но разрешенный URL-адрес не содержит параметров запроса.

и аналог тимелиста:

th:href="${#mvc.url('EHE#eventHistory').arg(2,__${eventHistoryFilter}__).build()}"

не выполняется во время оценки.

...