gpt4 book ai didi

grails - grails portlet FlashScope

转载 作者:行者123 更新时间:2023-12-02 14:09:38 24 4
gpt4 key购买 nike

我正在grails portlet中使用def liferay_portlet_private_session_attributes = false来进行liferay。
我用来与其他portlet共享 session 值。

session.getAttribute("orgid", PortletSession.APPLICATION_SCOPE) 

构建时出现此错误,每次刷新URL时都要部署。
Caused by: java.lang.ClassCastException: org.codehaus.groovy.grails.web.servlet.GrailsFlashScope cannot be cast to org.codehaus.groovy.grails.web.servlet.FlashScope

如果我注销并登录,效果很好。但是我无法理解如何在保持相同设置的情况下进行修复。

有人能告诉我有什么解决办法吗?

最佳答案

正如通过电子邮件讨论的那样,我认为这是ClassLoader的问题。试图将类型GrailsFlashScope(加载到一个Portlet中)的对象强制转换为FlashScope(加载到第二个Portlet中)。

即使GrailsFlashScope实现了FlashScope,从两个不同的类加载器加载的FlashScope类也不被认为是相等的,并且会抛出CCE。

我可以解决的唯一方法是将grails-*。jar文件(例如grails-web.jar)移动到某种共享的jar文件夹(不确定Liferay中的位置)并将其从Portlet WAR中删除文件。

干杯

背风处

关于grails - grails portlet FlashScope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3482840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com