Eingabe Textarea-Wert wird nie auf der Bean-Seite festgelegt. JSF 1.2 mit RichaFaces 3.3.3. nächsten Code haben:h: inputTextarea funktioniert nicht in Rich-Faces
<h:form id="name" rendered="#{not empty controller}">
<h:panelGrid columns="1" styleClass="medium" columnClasses="subtitle,medium" style="text-align: left;" cellspacing="3px">
<f:facet name="header">
<h:outputText value="Comments"/>
</f:facet>
<h:inputTextarea value="#{controller.comments}" rows="10" cols="80"
immediate="true"></h:inputTextarea>
<div align="right">
<a4j:commandButton value="#{msg['label.save']}" action="#{controller.saveData()}" reRender="name" />
</div>
</h:panelGrid>
</h:form>
Und in der Bohne:
public void saveData(){
//logic
}
public String getComments(){
return "comments";
}
public void setComments(String comments){
//logic
}
Die JSF-Seite wird in einer anderen Seite durch ui enthalten: include und wird benötigt Bean als Controller Parameter.
Kommentare werden gelesen get Methode, aber Setter wird nie aufgerufen, noch ist saveData Funktion. Der gleiche Controller wird für einige andere Daten auf einer anderen Seite verwendet und dort funktioniert die gleiche saveData Methode großartig. Ich frage mich, warum der Textarea-Wert nie festgelegt wird?
Nein, das ist nicht der Fall - jboss ELs machen ihre Arbeit. Und der genau gleiche Code (außer für die reRender-Komponente) wird im anderen Teil verwendet und es funktioniert. Meine Vermutung ist, dass es ein anderes Objekt hat, das aus irgendeinem Grund nicht in eine Zeichenkette umgewandelt wird. Untersuchen ... –
haben Sie versucht, es mit einer anderen verwalteten Bean funktionieren zu lassen? –
In der Tat funktioniert es einfach mit einer anderen Klasse ... Die Frage ist: warum? :) –