jsp 取java文件中变量值

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:59:51
比如 java文件中 类名:UserDao
public int loginNum=0;
public int getLoginNum() {
return loginNum;
}

public void setLoginNum(int loginNum) {
this.loginNum = loginNum;
}

而我在jsp 这样引用
<%
new UserDao().setLoginNum(5);
out.print(new UserDao().getLoginNum()); // 结果居然是0啊 这是为什么呢?
%>

<%
new UserDao().setLoginNum(5);
//这里创建了一个对象 设值5

//而你输出时又创建了一个对象, 这完全是2个不同的对象
out.print(new UserDao().getLoginNum());
%>

这就好比你去超市,把物品存在2号柜,却跑到3号柜里取,肯定是没有的

你可以这样:

<%
UserDao ud = new UserDao();

ud.setLoginNum(5);
out.print(ud.getLoginNum()); //这样才是基于一个对象操作
%>

new UserDao().setLoginNum(5)是一个对象
你的输出new UserDao().getLoginNum()是另外一个对象,他的默认值是你在创建UserDao对象时,初始化的值:public int loginNum=0;

解决办法:
UserDao u = new UserDao();
u.setLoginNum(5);
out.print(u.getLoginNum());
看来你没有把面向对象的含义理解好啊。。。

out.print(new UserDao().getLoginNum()); 这里你又新new了一个,不等于0等于什么