Ich habe diese Konfiguration in meiner Webanwendung. 2 Bohnen:JSF - Holen Sie die SessionScoped Bean Instanz
1 ° Bean - Es prüft die Anmeldung;
@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 ° Bean - Verwalten von Benutzerparameter:
@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...
}
Wie Sie sehen können, würde ich gerne wissen, wie die Spitznamen vorher auf meiner login
Bohne gefassten bekommen, also kann ich auf die Abfrage tun meine DB.
In der Tat muss ich die Instanz der aktuellen Sitzung Bean-Login erhalten: wie bekomme ich es? Ich soll Somethings wie session.getBean("login")
:)
Hoffnung verwende diese Frage klar ist :)
@Gaim: Er hatte den ursprünglichen Code, wo er zugreifen möchte 'Login' Bohne in der Konstruktor der Bohne. Es wäre zu diesem Zeitpunkt immer noch "null". Übrigens muss der Methodenname nicht unbedingt "init()" sein, Sie können wählen, was Sie wollen, solange ein "@ PostConstruct" darauf steht. – BalusC
Ich bin mir nicht sicher, aber ich denke, dass fehlt fehlt Setter für das Login - in meinen Anwendungen ist es erforderlich – Gaim
@Gaim: es ist nichts mehr als offensichtlich, einen Getter/Setter dafür zu brauchen. Es ist eine Bohne. Ich habe das Codebeispiel so bearbeitet, dass es für die Ignoranten klarer ist. – BalusC