14

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>

私は morphia を使用してデータを mongo db にマップしています。また、プロファイルと呼ばれるエンティティと、認証を管理するための 1 つの Bean もあります。ここに私の認証ビーンコードがあります:

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 

これが私のプロファイルエンティティコードです:

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

これは、データを送信して送信ボタンをクリックしたときに発生するエラーです。

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

1 に答える 1

22

値をよく見て、すべての正気の JSF チュートリアル/例が示しようとしているものと比較してください。

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

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

value="#{authenticationBean.profil.login}"
于 2013-08-18T23:50:24.553 に答える