2013-08-18 25 views
7

Mam problem z połączeniem strony Mój xhtml z zarządzanym komponentem bean, działanie w komendzie commandButton działa, ale jeśli chodzi o przekazywanie wartości, to nie działa. tutaj jest mój kod JSF:Niedozwolona składnia dla operacji zestawu

<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> 

używam morfinę do mapowania danych Mongo db, mam również entitie nazwie PROFIL i jeden fasoli zarządzania authenfication. tutaj jest mój athentication Kod Fasola:

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 

tutaj jest mój kod 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 ... 

to eror dostaję Kiedy przesłać jakieś dane i kliknij przycisk Wyślij:

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

Wygląda na to, że brakuje Ci setera. Dodaj swój kod dla seterów do pytania. – unwichtich

Odpowiedz

14

Przyjrzyj się bliżej wartości i porównaj z wszystkimi praktycznymi samouczkami/przykładami JSF, które starają się pokazać:

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

Biała spacja ma znaczenie w atrybutach i wyrażeniach EL. Pozbądź się go:

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