我在我的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