0

鉴于我有带有映射的 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;

    ...
}

在 thymeleaf 模板中,我想用参数构造 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()}"

在评估期间失败。

4

0 回答 0