我正在尝试使用一个公共片段并将我的Thymeleaf模板模块化,并插入到多个页面模板中。
在我的情况下,这是针对页面控制器(“第一”,“上一个”,“ 1、2、3 ...,下一个,最后一个”)的,它们中的每一个都充当指向特定结果页面的链接。因此,始终有必要传递与可用页面有关的信息以及链接将包括的基本URL。
我的片段如下:
<div th:fragment="control(pageControls, pageUrl)"
th:with="pageReach=${pageReach} ?: 5, withPreviousNext=${withPreviousNext} ?: false">
</div>
它是这样插入的:
<div th:replace="fragments :: control(W, X)"></div>
这对我不起作用,因为据我所知,提供可选参数pageReach
和withPreviousNext
的唯一方法是让我使用{{1} }标签:
th:replace
因此,我可以利用<div th:replace="fragments :: control(pageControls=W, pageUrl=X, pageReach=Y, withPreviousNext=Z)></div>
来提供所有参数,但是我无法使用速记th:with
,并且也无法执行control(W, X)
和W
作为必需参数。
是否有一种方法可以将必需参数和可选参数组合成单个片段替换?如果可能的话,我仍然希望能够替换该片段而无需在替换中命名所需的参数。
这些细节使我的问题与本网站上其他人所提出的问题不同。