鉴于我有带有映射的 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()}"
在评估期间失败。