java - 使用 HttpServletRequest 创建 cookie?

标签 java cookies websphere-portal

我创建了一个 RenderingPlugin,用于 WebSphere Portal,在将标记发送到客户端之前调用服务器端。该插件循环遍历所有 cookie,如果未找到“测试”,我想设置该 cookie。

我知道这可以通过 HttpServletResponse 实现,但 RenderingPlugin 无法访问该对象。它只有一个 HttpServletRequest

还有其他方法吗?

public class Request implements com.ibm.workplace.wcm.api.plugin.RenderingPlugin {

    @Override
    public boolean render(RenderingPluginModel rpm) throws RenderingPluginException {

        boolean found = false;

        HttpServletRequest servletRequest = (HttpServletRequest) rpm.getRequest();
        Cookie[] cookie = servletRequest.getCookies();

        // loop through cookies
        for (int i = 0; i < cookie.length; i++) {

            // if test found
            if (cookie[i].getName().equals("test")) {

                found = true;
            }
        }

        if (!found){

            // set cookie here
        }
    }
}

最佳答案

您是否尝试过使用 javascript 代码来设置 cookie?

<script>
document.cookie = "test=1;path=/";
</script>

您将此作为您提供给 Writer rpm.getWriter() 的内容的一部分发送,它将由浏览器执行。

关于java - 使用 HttpServletRequest 创建 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942270/

相关文章:

php - 读取并解析 cookie

cookies - 在多个域上自动 cookie 单点登录 - 如谷歌

jquery - 在 WebSphere Portal 6.1 中对 GenericPortlet.serveResource() 的 Ajax 调用

java - 为什么我通过 hector 将 double/float 列插入 Cassandra 并得到错误的 int 数据库值

Java在两个给定值之间生成随机数

java - 如何用 Java 验证加拿大邮政编码?检查两种类型的输入?前 : accepting A1A1A1 and A1A 1A1

java - 无法使用 Windows 文件资源管理器找到使用 Android App 创建的文件夹或文件

Python - 将 set-cookies 响应转换为 cookies 字典

java - [java.lang.ClassCastException : CustomPortlet incompatible with javax. portlet.Portlet

java - 转换为同一类时出现 ClassCastException