在Url查询参数中区分空值和空字符串("")

时间:2014-08-08 13:22:26

标签: java http url spring-mvc httprequest

如何在Spring MVC中区分/url?var中没有值的URL(如/url?var=""

控制器中的方法HttpServletRequest::getParameterMap()以两种方式返回""

我需要将命令从查询分离到指定资源。

2 个答案:

答案 0 :(得分:2)

实现目标的一种简单方法是使用getQueryString()的{​​{1}}。您只需检查并查看返回的String是否包含您要查找的模式。

如果您经常需要这样的东西(如在许多控制器方法中那样),您也可以轻松地创建一个自定义HttpServletRequest,它将指示URL中是否存在字符串。

Here是相关的Javadoc,here是一个示例

答案 1 :(得分:0)

/ url?var是一个有效的URL,表明您有一个未初始化的参数 var

因此默认情况下,它被初始化为空字符串。这就是框架行为。

如果您不希望在HttpServletRequest :: getParameterMap()中看到该参数,请不要将其与URL一起使用(即/ url应该是您的电话)