我正在使用 Spring 和 Thymeleaf。 我需要从当前网址中删除一个参数,并且我正在 View 中执行类似以下操作:
urlBuilder=${T(org.springframework.web.servlet.support.ServletUriComponentsBuilder).fromCurrentRequest()},
currentUrl=${urlBuilder.replaceQueryParam('page',null).build()
但是,该 null
值实际上并不为 null。如果我调试该行,该参数的值不为空,而是一个空对象,这是屏幕截图:
有什么方法可以从 SpEL 传递真正的 null
吗?
在这两种情况下,构建器组件的行为略有不同,因为当您传递 null 时,查询参数将被删除。在给定的示例中,查询参数保留在 URL 上。
最佳答案
您正在调用varargs方法。 null 被包装到一个带有一个 null 元素的数组中(不被视为空)。解决办法是省略null参数:
urlBuilder.replaceQueryParam('page')
关于spring - 是否可以在 ${...} 表达式中传递 NULL 作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46798410/