当前位置 : 主页 > 编程语言 > java >

无法通过jsp:include添加JSP中包含的cookie

来源:互联网 收集:自由互联 发布时间:2021-06-25
当添加cookie的代码是主页面(main.jsp)中包含的JSP片段(includes.jsp)的一部分时,通过JSP:INCLUDE,Cookies不会被添加到浏览器中. 当代码是主页面(main.jsp)的一部分时,代码工作正常.但是,我需要通过
当添加cookie的代码是主页面(main.jsp)中包含的JSP片段(includes.jsp)的一部分时,通过JSP:INCLUDE,Cookies不会被添加到浏览器中.

当代码是主页面(main.jsp)的一部分时,代码工作正常.但是,我需要通过片段添加cookie,因为该片段用于我希望添加cookie的几十个页面中.

注意:jsp:include是main.jsp标题部分的一部分(该片段还添加了许多javascript和css引用)

这是片段:

Cookie cookie = new Cookie ("test","test cookie");
cookie.setMaxAge(365 * 24 * 60 * 60);
cookie.setPath("/");
response.addCookie(cookie2);

当它是main.jsp的一部分时,上面的工作正常,但当它是添加到main.jsp via的片段的一部分时,它不起作用.几乎就像渲染片段后重置响应对象一样.

<jsp:include>使用 <jsp:include>及其 docs说:

The ServletResponse object has its path elements and parameters remain unchanged from the caller’s. The included servlet cannot change the response status code or set headers; any attempt to make a change is ignored.

(强调我的)

Cookie将在响应标头中设置.所以它停在这里.考虑编译时变量<%@include%>,它在主JSP的源代码中直接内联.

网友评论