Ich habe ein p: inputTextarea und ich brauche den Wert während der Verarbeitung des Formulars. Es stellte sich heraus, dass ich jedes Mal, wenn ich das Formular abschicke, alle Werte außer dem aus dem Textfeld erhalte. #{xyzUI.description}
ist ein String-Objekt mit regulären Gettern und Setter.p: inputTextarea gibt eine leere Zeichenfolge zurück
<ui:composition>
<h:form id="form1">
<p:panel rendered="...">
<p:panel id="formPanel">
<p:panelGrid columns="2" cellpadding="5">
<!-- other form elements -->
<p:outputLabel>Description:</p:outputLabel>
<p:inputTextarea value="#{xyzUI.description}" style="width: 350px;" counter="display" counterTemplate="{0} characters remaining" maxlength="2000" autoResize="true" rows="4" />
<h:panelGroup />
<h:outputText id="display" />
</p:panelGrid>
<p:commandButton rendered="#{not xyzUI.noChange}" action="#{xyzUI.submitForm}" update="formPanel" ajax="true" value="Apply" >
<p:ajax update="formPanel"></p:ajax>
</p:commandButton>
</p:panel>
</p:panel>
</h:form>
<ui:composition>
In meiner Backing-Bean ist der Wert immer "". Ich weiss nicht, was falsch ist.
public void submitForm()
{
...
tmp.setDescription(description); // String is always "" while debugging
myList.add(tmp);
RequestContext.getCurrentInstance().update("content");
}
Es scheint mir, die Quelle des Problems ist nicht in der gezeigten Code. Wo ist dein Knopf? Was ist der Bean-Umfang? Zeige den Getter/Setter. Haben Sie verschachtelte Formulare? Zeigen Sie mehr .. –
Der Bean-Bereich ist @ViewScoped. Ich habe nur eine Form, die die ganze Ansicht umgibt. Ich habe die Schaltfläche zum Code hinzugefügt. Entschuldigung, ich habe den Code auf Lesbarkeit getrimmt und den commandButton vergessen. – baumlol
Können wir Ihre gesamte Backbohne sehen? Wie @ JaqenH'ghar erwähnte, könnte es sein, dass Sie einen Setter auf dieser Bean-Property verpasst haben. –