检查JSP是否存在Cookie

我正在尝试使用表达式语言检查JSP页面上是否存在cookie。

我有一个名为persist的cookie,它被设置为空字符串或“已检查”。

如果想检查persist cookie是否存在。

我尝试过以下方法:

persist cookie的值为空字符串时,以上两个语句都为true如果checked cookie的值,则为false。

如何区分具有空字符串的cookie作为其值,以及不存在的cookie。

(注意:我可以通过为cookie而不是空字符串分配非空值来轻松解决此问题。)

最接近的是检查请求cookie标头中的cookie名称。

  

但是,当有另一个名为foopersist的cookie时,它会失败。

如果您的容器支持EL 2.2(所有Servlet 3.0容器,如Tomcat 7,Glassfish 3等),那么您可以使用Map#containsKey()

  

如果你没有,最好的办法是创建一个EL函数(更具体的声明示例可以在这个答案的底部附近找到):

  

 public static boolean mapContainsKey(Map map, String key) { return map.containsKey(key); } 

使用cookie映射来检查cookie是否存在${cookie["persist"] == null}

我希望它有效

如果我理解正确,您想要检测它不存在或为空。

编辑:啊。 要validation它不存在,它必须为null且不为空。

   Cookie doesn't exist  

如果使用Tomcat 6+

  Cookie doesn't exist