我在我的web应用程序上有这个配置。 2豆:JSF - 获取SessionScoped Bean实例
1°豆 - 它检查登录;
@ManagedBean(name="login")
@SessionScoped
public class Login {
private String nickname;
private String password;
private boolean isLogged;
public String getNickname() { return nickname; }
public void setNickname(String newValue) { nickname=newValue; }
public String getPassword() { return password; }
public void setPassword(String newValue) { password=newValue; }
public void checkLogin() {
... i check on db the nickname and the password ...
if(USER EXIST) {
isLogged=true;
} else {
isLogged=false;
}
return true;
}
}
2°豆 - 管理用户参数:
@ManagedBean(name="user")
@SessionScoped
public class User {
private String name;
private String surname;
private String mail;
public User() {
String[] record=null;
Database mydb=Configuration.getDatabase();
mydb.connetti();
ArrayList<String[]> db_result=null;
db_result=mydb.selectQuery("SELECT name, surname, mail, domicilio FROM users WHERE nickname='???????'");
int i = 0;
while (i<db_result.size()) {
record=(String[]) db_result.get(i);
i++;
}
}
... getter and setter methods...
}
正如你可以看到,我想知道如何得到我的login
豆先前设置好的绰号,这样我就可以做查询我的数据库。
事实上,我需要获取当前会话bean登录的实例:我怎样才能得到它?我应该使用像出头:) session.getBean("login")
希望这个问题是清楚:)
@Gaim:他的原代码,他希望访问`bean的构造Login`豆。在那一点上它仍然是'空'。顺便说一下,方法名不一定需要是`init()`,只要有一个`@ PostConstruct`就可以选择任何你喜欢的。 – BalusC 2010-11-25 16:10:21