java - ZK中使用Session中的值初始化变量?为什么总是得到空值?

标签 java web-applications zk

当初始化带有值的变量来自 session 时,我收到错误。 我的程序是这样的:

public class OTPController extends GenericForwardComposer implements Initiator{
    private String valueOTP;
    private Rusers user;
    public void doInit(Page arg0, Map arg1) throws Exception {
            user=(Rusers) arg1.get("user");
            System.out.println("user Id="+user);
    }

当我打印 init 中的值时,该值为 null..

如果我采用这样的 session 值:

    public void doInit(Page arg0, Map arg1) throws Exception {
            user=(Rusers) session.getAttribute("user");
            System.out.println("user Id="+user);
    }

该值也为空..

iam 像这样设置 session :

session.setAttribute("user", user);

有人可以帮助我吗?我很困惑,因为如果我在空初始化后点击操作并打印出结果,例如:

public void onClick$evaluate(Event event){
        String key=(String) session.getAttribute("key");
        if(valueOTP.equals(key)){ 
            System.out.println("user Id="+user);
            session.invalidate();
            session.setAttribute("user", user);
            execution.sendRedirect("./Welcome.zul");
        }else{
            System.out.println("OTP Failed");
            execution.sendRedirect("./Login.zul");
        }
    }

该值是显示,不再为空..但是如果我初始化该变量,该值为空..有人可以帮助我吗?

感谢您的关注,抱歉我的英语不好..

最佳答案

我的问题得到了答复,我想分享也许有人和我遇到同样的问题,只需更改获取 session 对象的方式,如下所示:

public void doInit(Page arg0, Map arg1) throws Exception {
            session=Executions.getCurrent().getSession();
            user=(user) session.getAttribute("user");
            System.out.println("user Id="+user);
    }

该值不再为空..这是获取 session 对象的正确方法..感谢您的关注..

关于java - ZK中使用Session中的值初始化变量?为什么总是得到空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291907/

相关文章:

java - 无法使用 ant 任务创建 enunciate java 客户端

java - Math#random 不是那么随机吗?

android - 如何从 Android 应用程序与 Web 应用程序交互?

java - 从 system.out.println 重定向到备忘录

java - 如何在 zk 日历组件中触发 dragble 事件

java - 我如何在我的java程序中使用随WAMP服务器安装的MySQL

java - Android Listview质疑 'android.R.id.list'

web-applications - 使用随机生成的 key 进行加密和解密?

php - 如何使用 cookie 自动重新登录用户

java - ZK - 将用户重定向回上一页