当具有值的初始化变量来自会话时,我收到错误..我的程序是这样的:
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..
如果我采用这样的会话值:
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");
}
}
值是显示,不再为空..但如果我初始化变量,值为空..任何人都可以帮助我吗?
谢谢你的关注,对不起我的英语不好..