Привет, у меня есть две страницы XHTML: 1-login.jsf 2-menu.jsf im пытается перейти со страницы 1 на страницу2, нажав на кнопку, но она не работает. мой код: login.jsfh: commandButton не перенаправляется на другую страницу jsf
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<head>
<link rel="stylesheet" type="text/css" href="../css/styles.css"/>
</head>
<h:body>
<h:form id="LoginForm">
<h:panelGrid style= "width: 467px; height: 88px">
<h:outputLabel value="Login"/>
<h:inputText value="#{loginBean.login}" id="loginID" />
<h:message for="loginID" tooltip="true" showDetail="true" showSummary="true" style="COLOR: #ff0000;"/>
<h:outputLabel value="Mot de Passe"/>
<h:inputSecret value="#{loginBean.password}" id="pwdID" />
<h:message for="pwdID" tooltip="true" showDetail="true" showSummary="true" style="COLOR: #ff0000;"/>
<h:message />
</h:panelGrid>
<h:commandButton id="validerID" value="Valider" action="#{loginBean.authentification}" type="submit"/>
<h:commandButton id="resetID" value="Reset" type="reset"/>
</h:form>
</h:body>
</html>
А вот код ManagedBean:
пакет com.fst.bibliotheque.beans;
импорт javax.faces.application.FacesMessage; import javax.faces.context.FacesContext;
общественного класса LoginBean {
private String login;
private String password;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String authentification(){
FacesContext fc=FacesContext.getCurrentInstance();
if("admin".equals(this.login) && "admin".equals(password)){
return "success";
}else{
if(!"admin".equals(this.login)){
fc.addMessage("LoginForm:loginID",new FacesMessage(FacesMessage.SEVERITY_INFO,"Validation Login","Login "+this.login+" inexistant!!"));
}
if(!"admin".equals(this.password)){
fc.addMessage("LoginForm:pwdID",new FacesMessage(FacesMessage.SEVERITY_INFO, "Validation Pwd","Vérifier votre mot de passe!!"));
}
return "echec";
}
}
}
Наконец вот правила навигации в лицах-config.xml
<navigation-rule>
<display-name>pages/login.xhtml</display-name>
<from-view-id>/pages/login.xhtml</from-view-id>
<navigation-case>
<from-action>#{LoginBean.authentification()}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/pages/menu.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
У меня есть это в моей консоли после execuring applcation: janv. 09, 2014 11:00:41 PM com.sun.faces.renderkit.html_basic.MessageRenderer encodeEnd ПРЕДУПРЕЖДЕНИЕ: атрибут 'для' не может быть нулем Любой знает, где проблема?
ТНХ для ответа, но это не решает problem.In факт имя управляемому бина это LoginBean с капиталом «L». – user3179505
Действительно ли называется 'authentification()'? Потому что, если bean действительно называется LoginBean, то действие в '' неверно или здесь есть опечатка. –
, который решил проблему thx :) – user3179505