JSF bean 和对象
JSF beans and object
我有一个 JSF 项目,我正在尝试做一个登录页面,在我的项目中我有一个托管 bean,它有一个验证用户名和密码的方法,我有一个 bean class使用 setter 和 getter,它们具有为数据库填充的用户信息,例如(用户名、密码、isActive、全名),我的问题是如果它们不是,我如何在我的 xhtml 页面中调用 JSF el 表达式中的用户信息在托管 bean 中?
这是我的 java bean:
@Table(name="students_info")
public class User {
@Column(name="std_record_id")
private int id;
@Column(name="std_id")
private String userId;
@Column(name="first_name")
private String firstName;
@Column(name="web_password")
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
这是我的 MBLogin:
@ManagedBean
@SessionScoped
public class MBLogin {
User user = new User();
LoginDAO loginDao = new LoginDAO();
public String validteStudent() {
boolean valid = loginDao.validateStudent(user.getUserId(), user.getUserId());
if (valid) {
HttpSession session = SessionUtils.getSession();
session.setAttribute("username", user);
return "student";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd", "Please enter correct username and Password"));
return "login";
}
}
}
为用户添加一个getter:
@ManagedBean
@SessionScoped
public class MBLogin {
User user = new User();
LoginDAO loginDao = new LoginDAO();
public String validteStudent() {
boolean valid = loginDao.validateStudent(user.getUserId(), user.getUserId());
if (valid) {
HttpSession session = SessionUtils.getSession();
session.setAttribute("username", user);
return "student";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd", "Please enter correct username and Password"));
return "login";
}
}
public User getUser() {
return user;
}
}
然后在你的 xhtml 中你可以这样称呼它:
#{user.id}
、#{user.firstName}
我有一个 JSF 项目,我正在尝试做一个登录页面,在我的项目中我有一个托管 bean,它有一个验证用户名和密码的方法,我有一个 bean class使用 setter 和 getter,它们具有为数据库填充的用户信息,例如(用户名、密码、isActive、全名),我的问题是如果它们不是,我如何在我的 xhtml 页面中调用 JSF el 表达式中的用户信息在托管 bean 中?
这是我的 java bean:
@Table(name="students_info")
public class User {
@Column(name="std_record_id")
private int id;
@Column(name="std_id")
private String userId;
@Column(name="first_name")
private String firstName;
@Column(name="web_password")
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
这是我的 MBLogin:
@ManagedBean
@SessionScoped
public class MBLogin {
User user = new User();
LoginDAO loginDao = new LoginDAO();
public String validteStudent() {
boolean valid = loginDao.validateStudent(user.getUserId(), user.getUserId());
if (valid) {
HttpSession session = SessionUtils.getSession();
session.setAttribute("username", user);
return "student";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd", "Please enter correct username and Password"));
return "login";
}
}
}
为用户添加一个getter:
@ManagedBean
@SessionScoped
public class MBLogin {
User user = new User();
LoginDAO loginDao = new LoginDAO();
public String validteStudent() {
boolean valid = loginDao.validateStudent(user.getUserId(), user.getUserId());
if (valid) {
HttpSession session = SessionUtils.getSession();
session.setAttribute("username", user);
return "student";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd", "Please enter correct username and Password"));
return "login";
}
}
public User getUser() {
return user;
}
}
然后在你的 xhtml 中你可以这样称呼它:
#{user.id}
、#{user.firstName}