Я получаю ошибку, когда initilize переменная со значением происходит из сессии .. моя программа выглядит так:
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, значение равно нулю ..
если я возьму значение сеанса следующим образом:
public void doInit(Page arg0, Map arg1) throws Exception {
user=(Rusers) session.getAttribute("user");
System.out.println("user Id="+user);
}
значение также равно нулю ..
я могу установить сеанс следующим образом:
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");
}
}
значение будет отображаться, больше не будет нулевым, но если я инициализирую переменную,значение равно нулю. Кто-нибудь может мне помочь?
спасибо за ваше внимание, и извините за мой плохой английский ..