Übergeben Sie den Wert h: inputText an f: ajax listener [duplicate].

Diese Frage hat hier bereits eine Antwort:

Wie übergebe ich einen Parameter an f: ajax in h: inputText? f: param funktioniert nicht 1 Antwort

Ich versuche, eine SQL-Datentabelle zu erstellen, die vollständig bearbeitet und auf einer einzelnen Seite angezeigt werden kann. Ich benutze Jsf und eine benannte Bohne. Ich verwende ein Arraylist-Bean-Objekt zum Speichern und Anzeigen der Daten.

public List<RegionBean> getRegions()throws SQLException{

Die Daten werden in einem inputText-Element angezeigt. Wenn ich versuche, die Informationen mit einer SQL-Methode in der Backing-Bean zu aktualisieren, kann der aktualisierte Text nicht zur SQL-Datenbank hinzugefügt werden. Es wird einfach derselbe Wert angegeben, der ursprünglich angezeigt wurde. Ich möchte, dass das Eingabetextfeld die Datenwerte aus der Array-Liste anzeigt und sie nach der Bearbeitung in einem anderen Feld in der Bean speichert.

Hier ist mein Code, wie er jetzt ist.

<h:dataTable value="#{regionBean.regions}" var="regions"/>


<h:column>
    <f:facet name="header">Region ID</f:facet>                       
    #{regions.regionID}
</h:column>
<h:column>
    <f:facet name="header">Region Description</f:facet>
    <h:inputText id="des" value="#{regions.regionDescription}">
    <f:ajax event="change" 
            listener="#{regionBean.updateText(event)}"
            render="des"/>
</h:inputText>
<h:column>
    <f:facet name="header">Save</f:facet>
    <h:commandButton action="#{regionBeanupdate(regions.regionID)}" value="Update">
    </h:commandButton>
</h:column>

Das Problem mit dieser UIComponent-ClientId =, Message = javax.el.PropertyNotWritableException:

In der Bohne habe ich

public void updateText(AjaxBehaviorEvent event)
            throws AbortProcessingException { }

Wie kann ich den neuen Eingabetextfeldwert an diese Methode übergeben, damit ich ihn als String in der Bean speichern und damit die SQL-Datenbank aktualisieren kann?

Bitte haben Sie Verständnis dafür, dass ich mit SQL vertraut bin und bereits mehrere CRUD-Anwendungen erstellt habe und meine Frage sich nicht auf SQL-Syntax oder andere Aspekte bezieht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage