thymeleaf url 中的可选参数

Sam*_*age 5 thymeleaf

我正在使用以下代码在 thymeleaf 中生成一个 url。

@{/schedule/data/bookableTimes/{teacherUsername}(teacherUsername=${teacher.user.username},lessonLengthType=${lessonLengthType},studentId=${#httpServletRequest.getParameter('studentId')})}
Run Code Online (Sandbox Code Playgroud)

当提供 studentId 时,这非常有效。但是,我也想满足不提供 studentId 的情况。目前,如果没有提供 studentId,它将生成一个像这样的 url

/schedule/data/bookableTimes/teacher?lessonLengthType=full&studentId=
Run Code Online (Sandbox Code Playgroud)

但是,这不是我想要的,在 studentId 为空的情况下,我宁愿根本不生成 url 的 studentId 部分。有没有一种简单的方法可以使用百里香叶来做到这一点?

小智 1

我会创建一个字符串并连接一些部分,例如

string url ="/schedule/data/bookableTimes/";
if (teacherUser) url.add(teacher)
if (studentId) url.add(studentId)
@{*url}
Run Code Online (Sandbox Code Playgroud)