2013-08-18 61 views
7

我在連接My xhtml頁面到託管bean時出現問題,commandButton上的操作工作正常,但是當涉及到傳遞值時它不起作用。 這裏是我的JSF代碼:設置操作的非法語法

<h:form id="form" class="form-signin"> 
      <p:panel id="panel" header=" Authentification" style="" > 
       <h:panelGrid columns="2" rowClasses="3"> 
        <h:outputLabel for="login" value="Nom d'utilisateur :" styleClass=""/> 
        <p:inputText id="login" value=" #{authenticationBean.profil.login }" required="true" label="login" > 
         <f:validateLength minimum="4" /> 
        </p:inputText> 
        <h:outputLabel for="password" value="Mot de passe :" /> 
        <p:password id="password" value=" #{authenticationBean.profil.password }" required="true" label="password" styleClass=""/> 

        <p:row> 
         <p:commandButton id="loginButton" value="Login" ajax="false" action="#{authenticationBean.validate}" /> 
         <h:messages id="messages" globalOnly="false"/> 
        </p:row> 
       </h:panelGrid> 
      </p:panel> 
     </h:form> 

我使用嗎啡來映射數據蒙戈DB,我也有一個名爲entitie和PROFIL一個bean來管理authenfication。這裏是我的athentication豆代碼:

public class AuthenticationBean implements Serializable { 
private static final long serialVersionUID = 1L; 
private Profil profil; 
private ProfilDAO profileDao = DAOFactory.getProfilDAO(); 

public void validate() { 
    FacesMessage message = new FacesMessage("Succès de l'inscription !"); 
    FacesContext.getCurrentInstance().addMessage(null, message); 

} 
// getters and setters 

這裏是我的PROFIL entitie代碼:

@Entity("profils") 
public class Profil { 
@Id protected ObjectId _id; 
protected String nomProfil,prenomProfil,login,password; 
@Embedded protected List<Droit> droits; 
@Reference protected Admin admin; 
public Profil() { 
} 
//getters and setters ... 

這是eror我得到當我提交了一些數據,並點擊提交按鈕:

javax.el.PropertyNotWritableException: /index.xhtml @29,125 value=" #{authenticationBean.profil.login }": Illegal Syntax for Set Operation 
+0

看起來像你缺少一個setter。請將您的代碼添加到問題中。 – unwichtich

回答

14

仔細看看價值,並與所有理智的JSF教程/示例試圖向您展示的內容進行比較:

value=" #{authenticationBean.profil.login }" 

空白在屬性和EL表達式中很重要。擺脫它:

value="#{authenticationBean.profil.login}" 
相關問題