如何在Liferay Portlet中设置Cookie?

如何在Liferay Portlet中设置Cookie?,第1张

如何在Liferay Portlet中设置Cookie?

我发现,无需大量修改Liferay门户本身,设置portlet
cookie的唯一方法就是让portlet生成一个javascript,然后由客户端来设置cookie。

因此,我在doView方法中添加了以下内容

if (renderRequest.getPortletSession(true).getAttribute("set_cookie")!=null){    return;}String cookie_value = renderRequest.getPortletSession(true).getId();String cookie_hours = "6";StringBuffer buf = new StringBuffer();buf.append("n <script>");buf.append("n var today = new Date();");buf.append("n var expires_date = new Date ( today.getTime() + (" + cookie_hours + "*1000*60*60) );");buf.append("n document.cookie = "linkedIn=" + util.getAppKey() + ";expires="+expires_date.toGMTString();");    buf.append("n </script>");renderResponse.setContentType("text/html");PrintWriter out = renderResponse.getWriter();out.println(buf.toString());renderRequest.getPortletSession(true).setAttribute(SET_cookie, cookie_value);

并非最佳选择,但仍然是可行的解决方案;)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5501441.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存