2013-08-18 12 views
7

My xhtmlページをマネージドBeanに接続する際に問題があり、commandButtonのアクションは機能しますが、値を渡す場合は機能しません。 はここに私のJSFコードです:私はデシベルをMongoのためにデータをマップするためにmorphiaを使用してい設定操作の構文が不正です

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

、私はまた、authenficationを管理するためのentitie呼ばプロフィールと1つのBeanを持っています。ここに私の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 

は私のプロフィールの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

あなたはセッターが不足しているように見えます。セッターのためのコードを質問に追加してください。 – unwichtich

答えて

14

JSFのチュートリアル/例題が皆さんに見せてくれるものと値を比較してみてください。

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

空白は属性とEL式で重要です。それを取り除く:

value="#{authenticationBean.profil.login}" 
関連する問題