检查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