Spring 是否可以将NULL作为${…}表达式中的参数传递?
我与Spring和Thymeleaf合作。 我需要从当前url中删除一个参数,我正在视图中执行类似操作:Spring 是否可以将NULL作为${…}表达式中的参数传递?,spring,spring-mvc,thymeleaf,spring-el,Spring,Spring Mvc,Thymeleaf,Spring El,我与Spring和Thymeleaf合作。 我需要从当前url中删除一个参数,我正在视图中执行类似操作: urlBuilder=${T(org.springframework.web.servlet.support.ServletUriComponentsBuilder).fromCurrentRequest()}, currentUrl=${urlBuilder.replaceQueryParam('page',null).build() 但是,null值实际上不是null。如果我调试该行,
urlBuilder=${T(org.springframework.web.servlet.support.ServletUriComponentsBuilder).fromCurrentRequest()},
currentUrl=${urlBuilder.replaceQueryParam('page',null).build()
但是,null
值实际上不是null。如果我调试该行,该参数的值不是null而是空对象,下面是屏幕截图:
有没有办法从SpEL传递realnull
在这两种情况下,构建器组件的行为略有不同,因为当传递null时,查询参数将被删除。在给定的示例中,query param保留在URL上。您正在调用varargs方法。null被包装到一个包含一个null元素(不被视为空)的数组中。解决方案是省略null参数:
urlBuilder.replaceQueryParam('page')
我现在觉得自己很愚蠢。。。。我被测试java代码误导了,传递
null
实际上是null,因此我想在SpEL中也这样做。我根本就没想过要辩论。非常感谢。