【问题标题】:How to set a cookie value within JSP using an EL expression?如何使用 EL 表达式在 JSP 中设置 cookie 值?
【发布时间】:2014-01-23 04:36:08
【问题描述】:

我试图在不直接使用 Java 代码的情况下在 JSP 中设置 cookie 值。我知道我可以通过为此创建一个自定义标签库来做到这一点,但我想保持简单,所以我尝试以与访问 cookie 相同的方式来做到这一点:使用 EL 表达式。

我知道我可以使用带有表达式${cookie['cookieName'].value} 的JSP EL 读取cookie 的值,但是如何使用EL 为该cookie 设置特定值?我在 JSP 中找到了使用 java 代码的解决方案,但我想避免这种情况。

到目前为止,我找到了使用 c:set 标记设置变量的方法,但它不接受表达式作为 'var' 参数,所以我无法执行以下操作:

<c:set var="${cookie['cookieName'].value}" value="123" />

我认为要走的路是 ,但我不知道它的 var 部分使用什么表达式,或者如何编写它,以便我可以设置 cookie 值而不仅仅是一个变量。

感谢任何帮助!

【问题讨论】:

标签: java jsp cookies el taglib


【解决方案1】:

在 JSP 中设置 cookie 没有标准表达式。如果你愿意,你可以使用自定义标签或使用 JSP script-less

<%

    javax.servlet.http.Cookie cookie 
           = new javax.servlet.http.Cookie("name", "value");

    // cookie.setXXX()

    response.addCookie(cookie);

%>

注意:确保在提交响应之前添加 cookie。

【讨论】:

  • 我最终做了这样的事情。自定义标记不起作用,因为我们无法从自定义标记中访问响应对象,但是标头中的这个 mall 的 java 代码块起到了作用。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2020-02-13
相关资源
最近更新 更多