【发布时间】:2020-01-17 02:38:26
【问题描述】:
在登录时验证用户输入时,我正在尝试覆盖默认的 primefaces 消息。当用户名和密码不是管理员/管理员时,我设法获得了自己的消息,现在我想获得自己的消息当没有用户名、密码或两者兼有时。
我已经尝试了下面的代码(否则为 if 行),但它不起作用。三种情况都试过了,还是不行。
public class UserLogin{
private String username;
private String password;
private String vrstaPrava;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getVrstaPrava() {
return vrstaPrava;
}
public void setVrstaPrava(String vrstaPrava) {
this.vrstaPrava = vrstaPrava;
}
public void login() {
FacesMessage message = null;
boolean loggedIn = false;
if(username != null && username.equals("admin") && password != null && password.equals("admin")) {
loggedIn = true;
message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Dobro došli", username);
} else if (username == null) {
loggedIn = false;
message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Greška prilikom prijave", "Niste unijeli korisničko ime/lozinku");
} else {
loggedIn = false;
message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Greška prilikom prijave", "Pogrešno korisničko ime/lozinka");
}
FacesContext.getCurrentInstance().addMessage(null, message);
PrimeFaces.current().ajax().addCallbackParam("loggedIn", loggedIn);
} }
【问题讨论】:
-
用户名.equals("");或用户名..length()==0;能否请您把这些信息翻译成英文?
-
你这个bean的作用域是什么?
-
@Jim_Ktr 都试过了,没用。如果管理员/管理员“欢迎”+ 用户名,则消息,否则“登录时出错,用户名/密码错误”。 Selaron 不,它没有用。 Jasper de Vries 没有放 bean 的范围,只放了“@ManagedBean”
-
你试过设置断点和调试吗?
-
您能否详细说明“它不起作用”的含义。尝试将范围至少设置为
ViewScoped。
标签: primefaces