从PrimeFaces中保存更改的值

Kla*_*aak 1 java jsf primefaces

如果更改,我想保存一个就地的值.

单击保存按钮时会调用methode employeeController.save().但是我怎样才能传递新旧价值呢?我想这样做,所以我可以在不询问数据库的情况下知道值是否已更改.

<h:panelGrid id="display" columns="2" cellpadding="4"  
                             style="width:300px;"  
                             styleClass="ui-widget-content"  
                             columnClasses="label, value">  

                    <h:outputText value="ID:" />  
                    <h:outputText id="ID" value="#{emp.id}" />  

                    <h:outputText value="Voornaam:"/>
                    <p:inplace id="firstnam" editor="true">
                        <p:ajax event="save" onsuccess="#{employeeController.saveName()}">
                        </p:ajax>
                        <p:inputText id ="firstName" value="#{emp.firstName}"  
                                     required="true" label="text"/>
                    </p:inplace>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 6

valueChangeListener是为了.

例如

<p:inputText ... valueChangeListener="#{employeeController.firstNameChanged}" />
Run Code Online (Sandbox Code Playgroud)

public void firstNameChanged(ValueChangeEvent event) {
    Object oldValue = event.getOldValue();
    Object newValue = event.getNewValue();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

您可以在boolean那里设置或收集其他属性中的值,并在实际命令操作方法中进一步处理.

只有在真正更改值时才会调用该方法.即使它只是从null空字符串.当旧值为equals()新值时,不会调用它.