gpt4 book ai didi

session - 创建 session 时在Grails中创建 session 变量

转载 作者:行者123 更新时间:2023-12-02 15:29:06 31 4
gpt4 key购买 nike

在执行任何任务之前,我需要准确地在创建 session 时创建一个 session 范围变量(因为我的所有任务都需要一个初始 session 范围变量才能运行)。因为,创建 session 时,grails应用程序会自动创建HttpSession的 session 实例。开发人员要使用 session 来存储 session 变量,只需使用“ session ”实例即可。我找不到初始化 session 变量将放在哪里。希望有人能帮助我。谢谢

最佳答案

您可以做的是使用HttpSessionListener侦听 session 创建和 session 删除。

您可以将其更改为从应用程序上下文中提取:

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import org.codehaus.groovy.grails.commons.ApplicationHolder;

public class MySessionListener implements HttpSessionListener {

private MyListener myListener;

public void sessionCreated(HttpSessionEvent event) {
String id = event.getSession().getId();
getMyListener().sessionCreated(id);
}

public void sessionDestroyed(HttpSessionEvent event) {
String id = event.getSession().getId();
getMyListener().sessionDestroyed(id);
}

public void setMyListener(MyListener myListener) {
this.myListener = myListener;
}

private synchronized MyListener getMyListener() {
if (myListener == null) {
myListener = (MyListener)ApplicationHolder.getApplication().getMainContext().getBean("myListener");
}
return myListener;
}
}

Reference Here :,如果不是这样

还有其他方法...让我知道!

关于session - 创建 session 时在Grails中创建 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710031/

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